Hallo Datenbankprofis!
Ich versuche gerade eine Verbindung zu einem Online-Shop herzustellen und die Daten von einer lokalen Delphi App zum Onlineserver zu übertragen. Es funktioniert auch einwandfrei mit einem Datensatz.
Sobald ich aber die Daten mittels einer Schlaufe ...EOF übertrage, arbeitet das Programm zwar die Schlaufe ab, es wird aber nur der erste Datensatz aktualisiert, die übrigen nicht.
Weiß jemand woran das liegt und kann mir helfen?
Momentan habe ich es so:
Delphi-Quellcode:
try
Connection.StartTransaction; // Start a transaction
while not AccessQuery.EOF do
begin
MyQuery.SQL.Text :='update oxarticles set oxprice= :ArtVKPreis_0,oxpricea= :ArtVKPreis_1, oxtprice= :ArtVKPreis_2 where oxid = :ArtNr';
MyQuery.ParamByName('ArtNr').Value := Q_sArtikelArtNr.Value;
MyQuery.ParamByName('ArtVKPreis_0').Value := Q_sArtikelArtVkPreis_0.Value;
MyQuery.ParamByName('ArtVKPreis_1').Value := Q_sArtikelArtVkPreis_1.Value;
MyQuery.ParamByName('ArtVKPreis_2').Value := Q_sArtikelArtVkPreis_2.Value;
MyQuery.execsql;
pgb_updateStatus.Position:=AccessQuery.RecNo;
AccessQuery.Next;
end;
Connection.Commit; // Commit the transaction
except Connection.Rollback; // Rollback the transaction in case of an error
raise;