Thanks for that information. Taking the first row out of the array will have a big performance penalty as you say as you will have to write a whole new array. I know near enough nil about C, so altering the source will be difficult. Will think of something.
Didn't know about the NULL handling and that is worth knowing and will see if it affects my app in some way. RBS -----Original Message----- From: Trey Mack [mailto:[EMAIL PROTECTED] Sent: 27 January 2007 15:57 To: sqlite-users@sqlite.org Subject: Re: [sqlite] return table data without fields I cannot find a PRAGMA for turning column names on/off either. You may be thinking of ".headers on/off" in the SQLite shell.. I don't think there's a way to turn this off, except rewriting the code for sqlite_get_table (which, thankfully, he's provided). Maybe to include a 4th parameter that would be a flag to include column headers or not. Or you could wrap all your calls through a VB function of your design that strips that first row (the column headers) out of the array, but I'd worry about performance with that method. One thing worth mentioning about this wrapper is that it doens't handle NULL return values as you might expect. If you issue a query that should return NULL.. like: create table t (a integer); -- no records.. select max(a) from t; -- should return NULL, since there is no max select typeof(max(a)) from t; -- proves that SQLite returns NULL you'll receive "" (the empty string) in the spot in the array where your result ends up. But again, thankfully, he's provided the source, so you can add the following lines else { // I hope the following is safe, as I'm definitely NOT a C/C++ guru.. especially with memory allocation / deallocation tmpVariant.vt = VT_NULL; hr = SafeArrayPutElement(resultp, indices, &tmpVariant); VariantClear(&tmpVariant); } at line 103 in my copy of VBSQL.c (I may have done some formatting, I forget), as the else for the following if: if (SQL_Results[sqlite_return_array_int]) { then, the Variant that will be sent to VB6 will be of type Null and can be tested with the VB6 function IsNull(..) properly. Regards, Trey ----- Original Message ----- From: "RB Smissaert" <[EMAIL PROTECTED]> To: <sqlite-users@sqlite.org> Sent: Saturday, January 27, 2007 7:01 AM Subject: [sqlite] return table data without fields > Using the VB wrapper dll from Todd Tanner: > http://www.tannertech.net/sqlite3vb/index.htm > > and it has this function to return table rows: > > Private Declare Function sqlite_get_table _ > Lib "SQLite3VB.dll" _ > (ByVal DB_Handle As Long, _ > ByVal SQLString As String, _ > ByRef ErrStr As String) As Variant() > > This will by default include the table field names. > Is there a way to return the table data without these field names? > I thought there was a Pragma command for this, but I couldn't find it. > > RBS > > > > ---------------------------------------------------------------------------- - > To unsubscribe, send email to [EMAIL PROTECTED] > ---------------------------------------------------------------------------- - > > ---------------------------------------------------------------------------- - To unsubscribe, send email to [EMAIL PROTECTED] ---------------------------------------------------------------------------- - ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------