program project1;
uses sqlite3conn, sqldb, DB, SysUtils;
var
SQLite3Connection1: TSQLite3Connection;
SQLTransaction1: TSQLTransaction;
SQLQuery1: TSQLQuery;
SQL: String;
begin
Deletefile('test.db'); // remove if you want to keep de db
SQLite3Connection1 := TSQLite3Connection.Create(nil);
SQLite3Connection1.DatabaseName := 'test.db';
SQLTransaction1 := TSQLTransaction.Create(SQLite3Connection1);
SQLite3Connection1.Transaction := SQLTransaction1;
if not FileExists('test.db') then
begin
SQL := 'CREATE TABLE Addresses(ID INTEGER PRIMARY KEY AUTOINCREMENT, FirstName VARCHAR(25), Name VARCHAR(25), Category VARCHAR(30), Address VARCHAR(50), PostalCode VARCHAR(10), City VARCHAR(25), Remarks MEMO, Telephone VARCHAR(15), Email VARCHAR(50));';
SQLite3Connection1.ExecuteDirect(SQL);
SQL := 'INSERT INTO Addresses (FirstName, Name, City) VALUES(''Donald'', ''Trump'', ''Washington'');';
SQLite3Connection1.ExecuteDirect(SQL);
SQL := 'INSERT INTO Addresses (FirstName, Name, City) VALUES(''Barack'', ''Obama'', ''Washington'');';
SQLite3Connection1.ExecuteDirect(SQL);
SQLTransaction1.Commit;
end;
SQLite3Connection1.Connected:=true;
// From here is the code you want !!
SQLQuery1 := TSQLQuery.Create(SQLite3Connection1);
SQLQuery1.Database := SQLite3Connection1;
SQLQuery1.UpdateMode := upWhereKeyOnly;
SQLQuery1.Transaction := SQLTransaction1;
SQL := 'SELECT FirstName, Name, City FROM Addresses';
SQLQuery1.SQL.Text := SQL;
SQLQuery1.Open;
while not SQLQuery1.EOF do
begin
writeln(SQLQuery1.Fieldbyname('FirstName').asString + ' ' + SQLQuery1.Fieldbyname('Name').asString + ' in ' + SQLQuery1.Fieldbyname('City').asString);
SQLQuery1.Next;
end;
SQLite3Connection1.Close;
SQLite3Connection1.Free;
writeln('Press the return key');
readln;
end.