Mit TQuery in eine DB Schreiben

Wie geht das ?? also ich habe aus einem beispiel für suchen mit TQuery was genommen und ein wenig geändert:

Qu.DisableControls;
Qu.Close;
Qu.SQL.Clear;
Xstr:=‚Edit1.text‘+’,’+‚Edit2.text‘+’,’+‚Edit3.text‘+’,’+‚Edit4.text‘+’,’+‚Edit5.text‘;
XS1:=‚insert into Kunden(Xstr)‘;
Qu.SQL.Add(XS1);
Qu.Open;
Qu.EnableControls;
Form4.close;

Er sagt dabei immer einen Acces Violation Error … kann mir jemand sagen was dadrann falsch is ? oder am besten mir gleich eins geben was geht ? :smile:

Hai,

Xstr:=‚Edit1.text‘+’,’+‚Edit2.text‘+’,’+‚Edit3.text‘+’,’+‚Edit4.text‘+’,’+‚Edit5.text‘;
XS1:=‚insert into Kunden(Xstr)‘;

Was soll das denn für ein Insert-Statement sein?? Was ist Xstr??

Das kann doch nicht gehen, da XS1 falsch aufgebaut ist!!

Bitte um weitere Angaben!

Gruß Silvia

XStr und XS1 sind strings …

Das kann doch nicht gehen, da XS1 falsch aufgebaut ist!!

humm … jo ? wie muss das denn richtig aussehen ?

genauere angaben ? humm … also
eine tabelle in der kundendaten stehen sollen …
Name, Vorname, Strasse, Ort, Telefonnummer, eMailadresse

so is die tabelle aufgebaut … ich dachte aber das insert so geht:
insert into ()
mit
insert () into
gings garnich … ich hab damit halt ncoh nie was gemacht

Hai nochmal,

Xstr:=‚Edit1.text‘+’,’+‚Edit2.text‘+’,’+‚Edit3.text‘+’,’+‚Edit4.text‘+’,’+‚Edit5.text‘;

Strings zusammenbauen
Xstr := 'edit1.text ', +‚edit2.text…; Schau‘ mal in der Hilfe, so aus dem Stehgreif hab ich das nicht mehr parat.

XS1:=‚insert into Kunden(Xstr)‘;

insert into Kunden…, tja jetzt kommt es darauf an, was Xstr ist.
Das insert statement lautet:
insert into (Spalte1, Spalte2…) values (z.B 1, oder’text’)

Und bei einem insert, update oder delete Statement brauchst Du ein
Qu.ExecSQL;

Ich hoffe das hilft. Ansonsten melde Dich!

Viel Spaß beim Basteln

Silvia

Hallole,

die Syntax für einen Insert sieht so aus:

insert into Anrede
(ID,Anrede) /*Hier stehen die Spaltennamen*/
values
(1,‚Herr‘) /*und hier dann die entsprechenden Daten*/

Wenn du die Daten aus mehreren Editfeldern zusammenbauen willst geht das folgendermaßen:

xStr:=Edit1.Text+’, ‚+Edit2.Text+‘, '+Edit3.Text;
sqlStr:='Insert into Anrede (id, Anrede) values '+xstr;
qu.SQL.Add(sqlStr);

Um bei TQuery ähnliche Funktionalität zu haben wie bei den TTable-Komponenten kannst Du auch die TUpdateSql in Verbindung mit den TQuerys benutzen. Einfach bei TQuery die Eigenschaft CachedUpdates auf True und UpdateObject auf die TUpdateSQL setzen. Durch einen Doppelklick auf die TUpdateSQL gelangst du in ein Fenster, in dem die SQL für das Einfügen, Löschen,… automatisch erstellt werden können.
Einfach mal die Onlinehilfe quälen oder email an mich.

Mfg
Wolfgang