tibdataset | datensatz bearbeiten (insert-sql?)
-
okey ich gebe es zu: ich bin ein Loser.

ich krieg das mit tibdataset einfach nicht gebacken.
Wie kann ich einträge verändern? jedesmal wenn ich es versuche
kommt, das eine datensatz der nur zum lesen vorgesehen ist nicht bearbeitet werden kann.dat1->edit(); dat1->fields->fields[2]->AsString = "sdfs";ich denke man muss irgendwas mit insert-sql machen, oder?
helft mir;
bin grad einfach zu frustriert um wieder eine stunde rumzuprobieren
mfg rico(s)
-
dass mit 2 "s" sorry
-
Schau mal hier (mein Beitrag (zufaulzumeinloggen)):
http://www.c-plusplus.net/forum/viewtopic-var-t-is-122072-and-highlight-is-tupdatesql.html
Das sollte mit den TIB-Komponenten analog zu TQuery und TUpdateSQL funktionieren.
-
danke
mal ausprobieren
-
ich versteh gar nichts mehr

wozu ist eigentlich die eigenschaft insertSQL des tibdataset da? Ich verstehe nicht ganz wann sql-befehle in dieser Eigenschaft ausgeführ werden. offensichtlich betrifft die methode execSQL von tibdataset nur die selectSQL eigenschaft. und bei der methode insert(); wird (laut hilfe) nur ein neuer datensatz angehängt
und wozu brauch ich überhaupt noch tibUpdateSQL. wenn ich sql befehle schon direkt in tibdataset-eigenschaften einfügen kann??
-
In die Eigenschaft InsertSQL schreibst Du ein parametrisiertes Insert-Statement. Zur Laufzeit mußt Du dann nur noch die Parameter setzen und das Statement ausführen.
Beispiel Statement:
INSERT INOT StatKunden (KdNr, BuMo, Wert, AnzahlAuftraege, VertNr) VALUES (:KdNr, :BuMo, :Wert, :AnzahlAuftraege, :VertNr)Da ich keine IB-Komponenten installiert habe, folgendes Beispiel anhand eines TUpdateSQL-Objekts (updstatkun):
updstatkun->Query[ukInsert]->ParamByName("KdNr")->AsString = qistatkunkundnr->AsString; updstatkun->Query[ukInsert]->ParamByName("BuMo")->AsInteger = qistatkunbumo->AsInteger; updstatkun->Query[ukInsert]->ParamByName("Wert")->AsFloat = qistatkunwert->AsFloat; updstatkun->Query[ukInsert]->ParamByName("AnzahlAuftraege")->AsInteger = qistatkunanzahl_auftraege->AsInteger; updstatkun->Query[ukInsert]->ParamByName("VertNr")->AsString = "-"; updstatkun->Query[ukInsert]->ExecSQL();Sollte bei den IB-Komponenten recht ähnlich funktionieren.