Datenbank: SQLite • Version: 3 • Zugriff über: SQLite4Delphi Wrapper von Tim Anderson
Variable mittels INSERT in die DB speichern?
Hallo,
hab folgendes Problem: ich möchte die Daten aus Edit-Feldern in die DB mittels INSERT speichern. Ich kann wie folgt feste Strings speichern, aber nicht Variablen:
Delphi-Quellcode:
Jah... wenn ich die Zeile:
procedure TForm1.OKBtnClick(Sender: TObject);
var dbFile: String; db: TSQLiteDatabase; sSQL: String; begin dbFile := ExtractFilePath(Application.ExeName) + 'Datab.db'; db := TSQLiteDatabase.Create(dbFile); try // Transaktion beginnt db.BeginTransaction; // Tabelle füllen sSQL := 'INSERT INTO telbuch(Vorname, Name, Telefon) VALUES ("Max", "Mustermann", "123-1234567");'; // Insert Befehl wird ausgeführt db.ExecSQL(sSQL); // Transaktion endet db.Commit; finally db.Free; end; end;
Delphi-Quellcode:
durch diese ersetze:
// Tabelle füllen
sSQL := 'INSERT INTO telbuch(Vorname, Name, Telefon) VALUES ("Max", "Mustermann", "123-1234567");';
Delphi-Quellcode:
bekomme ich eine Fehlermeldung.
// Tabelle füllen
sSQL := 'INSERT INTO telbuch(Vorname, Name, Telefon) VALUES (Edit1.Text, Edit2.Text, Edit3.Text);'; Ich weiß ich kann das irgendwie mit Query-Komponente lösen, aber ich hab diese nicht, da mit Delphi 7 Personal arbeite. Kann ich mein Vorhaben irgendwie anders umsetzen? Danke! |
AW: Variable mittels INSERT in die DB speichern?
Delphi-Quellcode:
LStr := 'Das steht in Edit1.Text: ' + Edit1.Text;
ShowMessage( LStr ); |
AW: Variable mittels INSERT in die DB speichern?
Oder ...
Delphi-Quellcode:
LStr := Format('Das steht in Edit1.Text: %s', [Edit1.Text]);
ShowMessage( LStr ); |
AW: Variable mittels INSERT in die DB speichern?
Und wenn man sich bemüht die Doku zu lesen (in der Unit selber enthalten, dann kommt man darauf, dass Parameter evtl. die Lösung der Lösungen ist.
Delphi-Quellcode:
sSQL := 'INSERT INTO telbuch(Vorname, Name, Telefon) VALUES ( :Vorname, :Nachname, :Telefon );';
db.AddParamText( ':Vorname', Edit1.Text ); db.AddParamText( ':Nachname', Edit2.Text ); db.AddParamText( ':Telefon', Edit3.Text ); db.ExecSQL( sSQL ); |
AW: Variable mittels INSERT in die DB speichern?
Weiss AddParamText denn, um was für einen Datentyp es sich handelt, oder ist das ein Braintwister für den Fragenden?
|
AW: Variable mittels INSERT in die DB speichern?
Zitat:
Um noch etwas konkreter zu werden
Delphi-Quellcode:
ist ein Bruder von
AddParamText
Delphi-Quellcode:
oder auch
AddParamFloat
Delphi-Quellcode:
, aber die Doku (teils auch in der Unit) gibt da einiges her und sollte wohl auch mal eines Blickes gewürdigt werden.
AddParamInt
|
AW: Variable mittels INSERT in die DB speichern?
Ich wusste es. Ein Braintwister (=Selber recherchieren).
|
AW: Variable mittels INSERT in die DB speichern?
Wie soll man sonst lernen wenn man sich nicht selbst durchbeißen kann. :roll:
|
AW: Variable mittels INSERT in die DB speichern?
Zitat:
mit Deiner Lösung kriege ich leider nur die Meldung: "E2010 Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'" Kann mir jemand weiterhelfen? Grüße Bennex. |
AW: Variable mittels INSERT in die DB speichern?
Das ist ja nur ein (unvollständiges) Codefragment. Wie hast du die Variablen ( sSQL, db) deklariert?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz