>
>Subject: Re: [sqlite] Suppressing column (field) headers?
>   From: Clay Dowling <[EMAIL PROTECTED]>
>   Date: Sun, 21 Nov 2004 19:19:11 -0500
>     To: [EMAIL PROTECTED]
>
>[EMAIL PROTECTED] wrote:
>
>>I'm using the 2.8 dll. You seem to be suggesting that I have to 
>>move up to the 3.0 dll to get just the data without the headers. 
>>
>>Will I still have to strip quotes off text, and an appended newline?
>>
>>I'm not sure what "prepared statements" means. Googling the subject
>>gets me lots of 'xxSQLxxx will do prepared statements' but little
>>explanation of what that is. 
>>  
>>
>Prepared statements let you write your SQL like this: SELECT name, qty, 
>location FROM inventory WHERE id=?
>You then get to substitute any value for ? that you want.  It's great 
>for avoiding data escaping problems, and speeds up your SQL processing.

OK. As I said in my original post, I send such through a Delphi
procedure. Quoting:

---
1. How can I get the dll to return JUST the desired data? 
   When I send the following SQL, for example,

      select colEntry from tblEntry where colNum = 3

   the textbox shows 

      colEntry
      "The text in the column."
      <newline>

   What I really want is just: 

      The text in the column.
---

>The part that's relevant for you is that you get your result set back 
>one row of data at a time, getting one field for each function call.  
>What you get is the raw data without any quotes or trailing newlines or 
>labels, in the data type that you asked for.
>
>>some insight, especially the comments. I'm forced to rely on someone 
>>else's Delphi wrapper, not all of which I understand. 
>>
>>Was this last comment your way of answering my "Can I drop in the 
>>3.0x dll and change the 'sqlite.dll' line to 'sqlite3.dll' and expect 
>>it to work the same?" question? 
>>  
>>
>Well, it was a pretty second rate answer in response to your question. 
>If you look in the Delphi documentation about external libraries you'll 
>see that Delphi can call them directly without really needing a 
>wrapper.  The sqlite3 dll won't be a drop in replacement, but it will 
>let you get the data back in a way that's likely to be more useful to 
>you. 

I tried. It didn't work right. Don't know enough yet about calling DLLs to
know why. It claims the library isn't loaded.


>All you need is a single pascal unit that imports the functions 
>defined in the DLL (or at least the functions you need).  The Delphi 
>documentation will have examples of how to write that module.  Then you 
>make Delphi calls to access the data in exactly the same way that you 
>would access it from a C program. This means that the C documentation 
>now also works for you writing in Delphi.

I presume you mean the structure in the TSQLite code I'm using, which begins:

  SQLite_Open: function(dbname: PChar; mode: Integer; var ErrMsg: PChar): 
Pointer; cdecl;
  SQLite_Close: procedure(db: Pointer); cdecl;
  SQLite_Exec: function(db: Pointer; SQLStatement: PChar; CallbackPtr: Pointer; 
Sender: TObject; var ErrMsg: PChar): integer; cdecl;
etc.


>If you can wait a little while, I actually need to write a Delphi 
>interface to SQLite myself, and I can send you the Pascal unit and a 
>short example off list.

All info a welcome part of the puzzle, I'm sure. Off list is fine, 
but please use the [sqlite] thingie in the header, if you can think
of it, as I get 100 pieces of spam a day to this account. 

Thanks

Reply via email to