Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Insert Into mit Variablen (https://www.delphipraxis.net/137477-insert-into-mit-variablen.html)

Jacer 21. Jul 2009 20:30

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

Insert Into mit Variablen
 
Moin,

ich hoffe ihr könnt mir nochmal helfen. Ich stehe vor einem relativ banalen Problem wobei ich durch einen INSERT INTO Befehl etwas in eine Datenbank schreiben möchte. Die Values sollen hier aus zuvor definierten Variablen bestehen. Und genau hier ist Problem:
Ich erhalte beim Ausführen immer Fehlermeldungen, was wohl mit der Syntax zusammenhängt.

Habe auch per Google nicht die richtige Syntax gefunden ich hoffe ihr könnt mir helfen!

gruß
jacer

hoika 21. Jul 2009 20:48

Re: Insert Into mit Variablen
 
Halo,

was hast du denn bisher ?


Heiko

Hansa 21. Jul 2009 20:48

Re: Insert Into mit Variablen
 
Gucke mal nach "ParamByName". So ungefähr muss das im Programm aussehen :
Delphi-Quellcode:
MyTable.ParamByName ('DBFELD').AsString := editMyVar.Text;
Allerdings, ob die tote BDE das beherrscht weiß ich nicht. Es gibt welche die glauben auch : "Elvis lebt". :mrgreen:

Die Muhkuh 21. Jul 2009 20:53

Re: Insert Into mit Variablen
 
Selbst die BDE beherrscht Parameter :stupid:

:arrow: Elvis lebt!

Jacer 21. Jul 2009 21:09

Re: Insert Into mit Variablen
 
Hatte es bisher so versucht:

Delphi-Quellcode:
'INSERT INTO Datenbank (Data1,Data2,..) VALUES ('+vData1+', '+vData2+', ...)
oder

Delphi-Quellcode:
'INSERT INTO Datenbank (Data1,Data2,..) VALUES ('+QuotedStr(vData1)+', '+QuotedStr(vData2)+',..)
Fehlermeldung hab ich folgende erhalten:

"Invalid use of keywords" oder "Value field required"

Die Muhkuh 21. Jul 2009 21:34

Re: Insert Into mit Variablen
 
SQL-Code:
INSERT INTO Datenbank (Data1,Data2,..) VALUES (:data1, :data2)
Delphi-Quellcode:
MyTable.ParamByName('data1').AsString := editMyVar.Text;
MyTable.ParamByName('data2').AsString := editMyVar2.Text;

Jacer 22. Jul 2009 14:58

Re: Insert Into mit Variablen
 
Zitat:

Zitat von Die Muhkuh
SQL-Code:
INSERT INTO Datenbank (Data1,Data2,..) VALUES (:data1, :data2)
Delphi-Quellcode:
MyTable.ParamByName('data1').AsString := editMyVar.Text;
MyTable.ParamByName('data2').AsString := editMyVar2.Text;

Trotzdem erhalte ich den Fehler "Value field required" :(

Ist es möglich dass es etwas mit dem Primary Key "ID" zusammenhängt den ich nicht in das Insert Into integriere? Dieser ist AutoIncrement also muss ich ihn doch eigentlich nicht mit in die Value-Liste aufnehmen oder?
Ansonsten sind alle Felder der Datenbank normale Strings.

Weiß einfach nicht woher sonst dieser Fehler kommen soll :?

DeddyH 22. Jul 2009 15:02

Re: Insert Into mit Variablen
 
Zeig mal Deinen Originalcode, vielleicht sieht man da etwas.

hoika 22. Jul 2009 15:07

Re: Insert Into mit Variablen
 
hALLO;

Übergibt mal die ID trotzdem (als 0).
und schreib zusätzlich ParamByName('Id').FieldType=ftAutoInc

oder

ParamByName('Id').Clear


Heiko

Miolin 22. Jul 2009 15:10

Re: Insert Into mit Variablen
 
Es kann durchaus sein, dass es am Primärschlüssel liegt.
Bei Zeos (und die richten sich ja vom Verhalten sehr nach der BDE), hatte ich das Problem auch schon. Wenn man die Felder allerdings anlegen lässt, kann man in den Eigenschaften des Feldes (alles Objektinspektor), Required auf false setzen.

Vielleicht konnte ich dir damit helfen.

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.
Seite 1 von 2  1 2      

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