Hallo zusammen
Leider hat mir die Suchfunktion zu 'Synopse SQLite3' keine Treffer angezeigt. Deshalb wende ich mich jetzt an euch.
Das Framework scheint ja sehr interessant zu sein, leider gibt es keine Dokumentation dazu und die Beispiele sind alles andere als 'brauchbar'. Der Blog dazu gibt auch gar nichts her. Das Framework ist fuer mich deshalb interessant, da man damit ohne die sonst verwendete externe sqlite3.dll auskommt.
Worum geht's?
Ich habe eine kleine SQLite3 Datenbank mit einigen Tabellen. Nun moechte ich aus einer der Tabellen bestimmte Datensaetze auslesen.
Der
SQL Befehl wuerde dann z. B. so lauten: "Select * From Mp3Record Where Genre = 'Asian Music'"
Als Ergebnis muesste dann ein oder mehrere Records zurueckkommen (sofern entsprechende Datensaetze gefunden werden).
Kennt jemand von euch das Framework? Weiss jemand, wie ich das realisieren kann?
Vom Autor des Frameworks bekam ich folgende Antwort(leider etwas abwertent auf meine Anfrage hin):
Zitat:
For such low level SQLite3 work, take a look at TSQLRequest.Execute methods, and see how to loop through all rows.
Delphi-Quellcode:
var
R: TSQLRequest;
value: Int64;
res: integer;
begin
try
R.Prepare(aDB,'Select * From Mp3Table Where Genre=''Asian Music'';'); // note the '' double quotes inside the ' string '
repeat
res := R.Step;
if res=SQLITE_ROW then
begin // we got some data
value := sqlite3_column_int64(R.Request,0);
// use other low level functions to get your data
end;
until res=SQLITE_DONE;
finally
R.Close; // always release statement
end;
end;
With the framework, you should better create a TSQLRecord descendant class with the appropriate fields corresponding to your database, then use a Client/Server approach as shown in the supplied samples.
Das grosse Problem fuer mich hier ist die Variable 'aDB'. Laut Funktion in der Datei SQLite3.pas muss 'aDB' vom Typ TSQLHandle sein.
Leider habe ich damit noch nie etwas zu tun gehabt. Was ist denn ein TSQLHandle?
In der Datei SQLite3.pas ist der Typ so deklariert:
/// internaly store the SQLite3 database
handle
TSQLHandle = type cardinal;
Wie definiere ich in meinem Programm 'aDB' (oder auch einen anderen Namen) so, dass sie als TSQLHandle verwendet wird?
Wo stelle ich die Beziehung zu meiner Datenbankdatei her?
Waere schoen, wenn mir jemand helfen koennte.
Danke schon im voraus!
Gruss
AnCorr