Also ich hab die Werte Datenarray und D+1 mit showmessage nach der Stringgridfüllung abgefragt, die stimmen und die stringgrid wird eben einmal gefüllt.
Danach gehts nicht weiter und die sql Tabelle wird nicht gefüllt.
Es muss irgendwie an der Sql anweisung liegen.
Ich hab das
sqlAbfrage.SQL.Text:='UPDATE `Daten` Set `Wert`=:wert1 WHERE `id`=:wert2';
mal in die For Schleife gesetzt sonnst wird das doch garnicht ausgeführt oder?
Da kommt dann aber für Wert1 und Wert2 beim Aufrufen das sie nicht gefunden wurden
Edit: habs jetzt so da kommt keine Fehlermeldung aber ein Wert wird trotzdem nicht eingetragen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| for D:= 0 to ((arraygroeße div 2)-1) do begin Datenarray[D,1]:= wertefiltern(Daten,D,Datenarray[D,0]); stringgrid1.Cells[1,D+1]:= Datenarray[D,1] ; sqlAbfrage.SQL.Text:='UPDATE `Daten` Set `Wert`=:wert1 WHERE `id`=:wert2';
sqlabfrage.ParamByName('wert1').AsString := Datenarray[D,1]; sqlabfrage.ParamByName('wert2').AsInteger := D+1; sqlAbfrage.ExecSql;
end; |
Wie gesagt wenn ich das sql zeugs auskommentiere läufts
EDIT: Es muss irgendwie an der For Schleife mit liegen.
Ich hab dieses Kommando in einer anderen Prozedur und das funktioniert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| if sql = true then begin sqlAbfrage.SQL.Text:='INSERT INTO `Daten` '+ '(`id`, `Bezeichnung`)'+ ' VALUES '+ '('''', '''+Namefiltern(Daten)+''');'; sqlAbfrage.ExecSql; end; |
Das funktioniert.
hm ich weis ned weiter