Zitat von
EvilCodein:
Die Fehlermeldung bleibt jedoch die gleiche
... kann nich jemand mal mit Delphi 7 ausprobieren, ob da der gleiche Fehler auftritt? Bitte..
Du musst den Fehler schon selber finden; wir können dir hier nur begrenzte Hilfe bieten.
Irgend einer deiner 10 Parameter wird wohl zu lang sein.
Du solltest alle Leerzeichen aus deinen Eingangsdaten mit
Trim wegschneiden:
ClientsQuery.Parameters.ParamValues['var1'] := Trim(DataArray[1]);
Wenn alle Stricke reisen, dann gibt es noch die Möglichkeit anstelle von INSERT eine SELECT-Anweisung zu verwenden:
Delphi-Quellcode:
ClientsQuery.SQL.Text := 'SELECT [ID], Anrede, Name, Street, PLZ, City, HomePhone, MobilePhone, Field3, Field4 FROM clients WHERE 0=1';
// das Feld ID könnte ein reserviertes Wort sein, deshalb in eckige []
ClientsQuery.Open;
...
// später in der Schleife
ClientsQuery.Append;
ClientsQuery['ID'] := Trim(DataArray[1]);
ClientsQuery['Anrede'] := Trim(DataArray[2]);
...
ClientsQuery.Post;
Diese Vorgehensweise ist zwar langsamer, dafür sorgen aber die TField-Komponenten im Hintergrund dafür, dass die String-Felder nicht "überfüllt" werden können.