Mailing List
Home
Forum Home
MySQL General - General MySQL discussion
MySQL++ - Programming with the C++ API to MySQL
MaxDB - Everything about MaxDB, formerly known as SAP DB
ODBC - ODBC with the MySQL Connector/ODBC driver
MySQL on Win32 - Runing MySQL on Windows 9x/Me/NT/2000/XP
Java Help - Mostly related to the MySQL Connector/J driver
Perl - Perl support for MySQL with DBI and DBD::mysql
GUI - MySQL GUI Tools
Announcement
Subjects
Subject: mysql openssl Question
ERROR 1045: Access denied for user: 'root@localhost ' (Using
password: NO)
Update one field with more fields from another table
Subject: Getting Identity after INSERT
ERROR 2002: Can 't connect to local MySQL server through socket
mysql test 4 1 fails with the gis test
Subject: MySQL Cluster Software
Downgrade Mysql from 4 to 3 23
Mysql 4 0 Oracle Stored Procedure Trigger Conversion
Can 't access mysql after kernel upgrade
Executing MySQL Commands From Within C Program
Comparing and writing out BLOBS
Subject: Re: Preventing Duplicate Entries
FULLTEXT query format question
Strange behavior, Table Level Permission
Does the binary log enabling affect the MySQL performances?
mysql:it 's a db not a dbms how it 's possible?!
mysql have same function mthod as Oracle decode()
 
Table() returns null

Table() returns null

2007-09-27       - By David Sevier

 Back
Hi,

I managed to solve my problem with the libraries not building properly
by adding in some additional includes into my program. So, now at
least I can connect to my database.

But now I'm having a new problem. One of the things I need to be able
to do for my program is get metadata on the table that I'm pulling
information from.

So I added in this code, based on some of the examples:

Query query = con.query();
String QueryString = "select * from diagnostics";

query << QueryString.cString();

Result res = query.store();
// Query::store() executes the query and returns the results

lprintf("Records Found: %d\n", res.size() );

std::string TableName = res.table();

lprintf("%s:\n", TableName);

for (unsigned int i = 0; i < res.names().size(); i++)
{
String FieldName = res.names(i).c_str();
String SQLType = res.types(i).sql_name();
int Length = res.types(i).length();

lprintf(" Field Name: %s\n", FieldName);
lprintf(" SQL Type: %s\n", SQLType);
lprintf(" Max Length: %d\n\n", Length);
}

return 0;

This works for the most part. Except that I always get (Null) returned for
the Table Name and 0 for the length of the field.

Here's the output:
Records Found: 889
(null):
Field Name: system
SQL Type: VARCHAR NOT NULL
Max Length: 0

Field Name: plane
SQL Type: VARCHAR NOT NULL
Max Length: 0

Field Name: date
SQL Type: DATE NOT NULL
Max Length: 0

Field Name: problem
SQL Type: CHAR NOT NULL
Max Length: 0


I haven't found anything in the documentation that really helps me here.

Any ideas?

Thanks!

David