Wenn ich versuche einem TSQLQuery-Objekt eine Instanz von TSQLite3Connection zuzuweisen, erhalte ich die Meldung "Database not assigned". Ich vermute, dass diese beiden Komponenten nicht zusammen genutzt werden können? Es würde mir sehr weiterhelfen, wenn jemand Code für eine Konsolenanwendung posten könnte, die sich mit einer SQLite3-Datenbank verbindet und den Inhalt einer Tabelle anzeigt.
Danke, twinkle
TSQLQuery mit TSQLite3Connection
Re: TSQLQuery mit TSQLite3Connection
Bei mir funktioniert die Zuweisung ohne Probleme. Schreibe doch mal, welche Versionen du einsetzt.
knight
knight
Re: TSQLQuery mit TSQLite3Connection
Könntest du vielleicht Beispielcode posten? Also wie du die einzelnen Komponenten auf einander beziehst? Ich habe erst gestern mit Lazarus losgelegt, weswegen es gut sein kann, dass ich einfach etwas falsch mache.knight hat geschrieben:Bei mir funktioniert die Zuweisung ohne Probleme. Schreibe doch mal, welche Versionen du einsetzt.
knight
Code: Alles auswählen
SQLiteLibraryName:='C:\Users\mkr\Desktop\sqlite3.dll';
SQLite3Connection1.DatabaseName := 'C:\Users\mkr\Desktop\TestDb.db';
SQLite3Connection1.Connected := true;
SQLQuery1.sql.text := 'SELECT * FROM test';
SQLQuery1.Database := SQLite3Connection1;
SQLQuery1.Transaction := SQLTransaction1;
SQLQuery1.ExecSQL;

Re: TSQLQuery mit TSQLite3Connection
Die Methode ExecSQL wird bei Befehlen wie INSERT oder UPDATE verwendet. Wenn du Daten mittels SELECT abrufen möchtest, dann brauchst du die Methode Open. Noch ein Hinweis zur Reihenfolge der Befehle: Es ist besser, wenn du erst alle Eigenschaften setzt (inklusive der Verbindungen zwischen den Komponenten) und dann die Verbindung aktivierst (...connection..., ...transaction..., SQLQuery1.Open).
knight
knight
Re: TSQLQuery mit TSQLite3Connection
Danke für den Tipp! Werde ich nacher gleich mal ausprobieren. Mal sehen, ob dann die Fehlermeldung "database not assigned" ausbleibt! Ist doch anzunehmen, oder?knight hat geschrieben:Die Methode ExecSQL wird bei Befehlen wie INSERT oder UPDATE verwendet. Wenn du Daten mittels SELECT abrufen möchtest, dann brauchst du die Methode Open. Noch ein Hinweis zur Reihenfolge der Befehle: Es ist besser, wenn du erst alle Eigenschaften setzt (inklusive der Verbindungen zwischen den Komponenten) und dann die Verbindung aktivierst (...connection..., ...transaction..., SQLQuery1.Open).
knight