Autor Beitrag
Gernot Z
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 22.07.02 12:15 
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:
ausblenden 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
Steffer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 299



BeitragVerfasst: Mo 22.07.02 16:50 
D3 und D5 unterscheiden sich da in ein paar Sachen. Habe aber auch keine Dokus dazu gefunden.
Meinen Source habe ich für Tables so angepast:

ausblenden Quelltext
1:
2:
3:
4:
5:
if Table.Locate('feld',wert,[])
then Table.Edit
else Table.Append;
...
Table.Post;


Für eine Query kannst du das entsprechend anpassen.

Code-Tag eingefügt. Marc

_________________
Keine Signatur ...