Hallo Forum
Bin neu in Delphi und habe ein Problem mit einem übernommenen Delphiprogramm.
Beim Klich auf eine Schaltfläche wird in einer Tabelle geprüft ob ein DS mit einem Kennzeichen "O" vorhanden ist oder nicht. Wenn kein Satz vorhanden ist wird der Satz angelegt und in die Tabelle geschrieben.
Und zwar so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| if DmoAufr.QryAufr.Active = FALSE then DmoAufr.QryAufr.Open;
DmoAufr.QryAufr.Append; // Die Datenmenge wird in den Einfügemodus gebracht.
DmoAufr.QryAufrGAGANR.AsString := EdtGanr.Text; DmoAufr.QryAufrAUFRVNR.AsString := EdtVereinb.Text; DmoAufr.QryAufrAUFRGDAV.AsString := EdtVondat.Text; DmoAufr.QryAufrAUFRGDAB.AsString := EdtBisdat.Text; DmoAufr.QryAufrAUFRSOLL.AsString := EdtSollstk.Text; DmoAufr.QryAufrAUFRIST.AsString := EdtIststk.Text; DmoAufr.QryAufrAUFRPROZ.AsString := proz; DmoAufr.QryAufrAUFRSTAT.AsString := 'O'; DmoAufr.QryAufrUSRSTR.AsString := HostDb.User; DmoAufr.QryAufrUSRNR.AsInteger := 0; DmoAufr.QryAufrUSRTMSTMP.AsDateTime := Now; DmoAufr.QryAufrAUFRSIST.AsString := EdtIstSeat.Text; DmoAufr.QryAufrAUFRCIST.AsString := EdtIstSkoda.Text;
try DmoAufr.QryAufr.Post; DmoAufr.QryAufr.ApplyUpdates; DmoAufr.QryAufr.CommitUpdates; except Screen.Cursor := crHourglass; // Cursor auf Sanduhr ModalResult := mrNone; HostDb.Idle; Close; // Anwendung schließen bei allgemeinen Fehlern raise; |
Wird aber ein Satz mit "O" gefunden, wird er storniert, d.h. das Kennzeichen "O" wid zu "S" und in die Tabelle geschrieben (funktioniert) und dannach wird der Satz aber auch mit Kennzeichne "O" neu geschrieben. (wieder mit obiger Prozedur)
Und hier erhalte ich die Fehlermeldung
Allgemeiner SQL Fehler
und zwar bei DmoAufr.QryAufr.ApplyUpdates;
Dieses Programm wurde unter Delphi3 geschrieben und nun auf Delphi5 umgestellt. Könnte es damit zusammenhängen. Es hat ja vorher funktioniert.
Vielen Dank für Infos
Gernot
Code-Tags hinzugefügt. Tino