123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- program sqlite3loadlib;
- {$mode objfpc}{$H+}
- uses
- {$IFDEF UNIX}{$IFDEF UseCThreads}
- cthreads,
- {$ENDIF}{$ENDIF}
- Classes, sysutils,
- sqldb,
- sqldblib, sqlite3conn;
- var
- LibLoader: TSQLDBLibraryLoader;
- Conn: TSQlite3Connection;
- Tran: TSQLTransaction;
- Q: TSQLQuery;
- Existed: boolean;
- begin
- LibLoader:=TSQLDBLibraryLoader.Create(nil);
- try
- LibLoader.ConnectionType:='SQLite3';
- LibLoader.LibraryName:='d:\auxinst\sqlite\sqlite3.dll';
- LibLoader.Enabled := true;
- LibLoader.LoadLibrary;
- finally
- LibLoader.Free;
- end;
- Conn:=TSQlite3Connection.create(nil);
- try
- Tran:=TSQLTransaction.create(nil);
- Q:=TSQLQuery.Create(nil);
- Conn.DatabaseName:='test.sqlite';
- existed:=fileexists(conn.databasename);
- Conn.Transaction:=Tran;
- Q.DataBase:=Conn;
- Conn.Open;
- Tran.StartTransaction;
- if not(existed) then
- begin
- // create test table
- Conn.ExecuteDirect('create table test (id integer, name varchar(255))');
- end;
- Q.SQL.Text:='select id,name from test ';
- Q.Open;
- Q.Last; //force recordcount update
- writeln('recordcount: '+inttostr(q.RecordCount));
- Tran.Commit;
- Q.Close;
- Conn.Close;
- finally
- Q.Free;
- Tran.Free;
- Conn.Free;
- //LibLoader.Free;
- end;
- writeln('Program complete. Press a key to continue.');
- readln;
- end.
|