Autor Beitrag
Josef-B
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Mo 21.07.03 12:23 
Ich möchte Datensätze ändern. Allerdings speichert der Rechner die Änderungen in Interbase nicht ab.

Was ist falsch?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure Tfauftraegesped.BtnEditClick(Sender: TObject);
begin
....
ibdatasetpositionen.edit;


Dann werden die Feld(er) geändert.

Danach wird gespeichert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure Tfauftraegesped.BtnStoreClick(Sender: TObject);
begin
with ibdatasetpositionen do
  begin
  ID_Auftragspos := (strtoint(dbedit1.Text)*100) + strtoint(dbedit5.text);
  fieldbyname ('Id_Auftrags_Position').value := Id_Auftragspos;
  fieldbyname ('Auftragsnummer').value :=strtoint(dbedit1.text);
  fieldbyname ('Positionsnummer').value := strtoint(dbedit5.text);
  fieldbyname ('Lade_Name_1').value := dbedit6.text;
  post;
  Transaction.CommitRetaining;
  end;
end;


Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 21.07.03 14:52 
Hmm, kann Dir da im Moment net viel helfen, hab in Deinem anderen Thread ja geschrieben, wofür die Datasets eigentlich sind. Ich würde Dir deshalb empfehlen, Deine INSERT-Anweisung wieder herzunehmen, eine IBSQL-Kompo zu nehmen und solche Exec-SQL-Sachen damit zu machen... damit fahr ich bisher gut :wink:
Josef-B Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Mo 28.07.03 20:59 
Also ich hab jetzt nochmal an meinen IBDATASETS rumgedoktert.

Das Speichern mit Fieldbyname ('irgendwas') := dbeditsonstwas.text funktioniert jetzt einwandfrei.

Man braucht dazu keine anderen Komponenten wie IBQuery oder IBSQL.

Ich hatte in Interbase einige Felder der Tabelle geändert und dann den Dataset-Editor nicht noch mal geändert. Es ist wichtig, dass man bei Änderungen an der Tabelle im Dataset-Editor alle Felder noch mal lädt und auch im Feld-Editor die geänderten Felder erst rauslöscht und dann noch mal wieder einfügt. Genauso müssen die SQL-Anweisungen dann noch aktualisiert werden.

Dann klappts auch einwandfrei.