Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit DBEdit und Parameterübergabe (https://www.delphipraxis.net/12088-problem-mit-dbedit-und-parameteruebergabe.html)

Budda 20. Nov 2003 13:24


Problem mit DBEdit und Parameterübergabe
 
Hallo,

ich fülle meine DBEditfelder bei dem Event OnClick eines BitBtn's mit folgendem Befehl:
Delphi-Quellcode:
DBEdit15.Text := Paramstr(2);
Das klappt auch hervorragend.
Das Query was dahinter steck befindet sich im Append Modus.
Wenn ich nun in die Maske klicke verschwinden alle übergebenen Parameter aus den DBEditfeldern.

Was tun damit dem nicht so ist ?

Gruß
Budda

barnti 20. Nov 2003 14:02

Re: Problem mit DBEdit und Parameterübergabe
 
Hi,
ich denke das Problem ist, dass das Dataset erst in den Edit- bzw. Append Modus geht, wenn Du einen Wert in Dein Edit schreibst. Ist Dein Dataset auf "autoedit" wird ein neuer Datensatz erzeugt. Die Felder sind dann leer.

Hoffe ich konnte Dir helfen.

Ansonsten versuche doch bitte Dein Problem etwas ausführlicher zu beschreiben: Wo klickst Du genau hin? Schreibst Du schon einen Wert in ein Feld...Wann passiert das besagte Ereignis genau?

Gruß,

Barnti

Budda 20. Nov 2003 14:50

Re: Problem mit DBEdit und Parameterübergabe
 
Also folgendes habe ich im OnClick Ereignis meines Buttons stehen:
Delphi-Quellcode:
 
ADOQuery2.Active := false;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add ('select * from t_tabelle');
ADOQuery2.SQL.Add ('order by wert1');
ADOQuery2.Active := true;
ADOQuery2.Append;
Panel1.Visible := true;
if ParamCount > 0 then
begin
  DBEdit14.Text := ParamStr(1);
  DBEdit15.Text := Paramstr(2);
  DBEdit16.Text := Paramstr(3);
  DBedit17.Text := Paramstr(4);
  DBEdit18.Text := Paramstr(5);
  DBEdit19.Text := Paramstr(6);
  DBEdit24.Text := Paramstr(7);
  DBEdit20.Text := Paramstr(8);
  DBEdit21.Text := Paramstr(9);
  DBEdit22.Text := Paramstr(10);
  DBEdit23.Text := Paramstr(11);
  DateTimePicker2.Date := StrToDate(Paramstr(12));
  DBEdit25.Text := Paramstr(13);
  DBEdit26.Text := Paramstr(14);
end;
DateTimePicker2.Date := Now;
Sodele, damit werden dann meine Editfelder gefüllt die auf dem Panel1 liegen. Klappt soweit auch.
klick ich jetzt meinen Button zum speichern:
Delphi-Quellcode:
ADOQuery2.Edit;
ADOQuery2Wert1.value := DateToStr(DateTimePicker2.Date);
ADOQuery2.Post;
Hab ich dann das prob das er nur das Datum aus Wert1 speichert, den Rest nicht.
Klicke ich vor dem Speichern in eines der DBEdit Felder werden die Werte aus allen DBEdit feldern gelöscht.

Mache ich das ganze ohne Parameter übergabe, gebe also die Daten per Hand in die DBEdit Felder funktioniert alles wie gewüscht ^^

barnti 21. Nov 2003 07:16

Re: Problem mit DBEdit und Parameterübergabe
 
Hallo Budda,

erst einmal:

Delphi-Quellcode:
...
ADOQuery2.Active := false;
...
Du solltest nicht direkt die Propety "active" ändern, sondern stattdessen

Delphi-Quellcode:
...
ADOQuery2.close;
...
benutzen. Das gleiche beim Öffnen: AdoQuery2.open;

Dann zu Deinem Problem:

Zitat:

Sodele, damit werden dann meine Editfelder gefüllt die auf dem Panel1 liegen. Klappt soweit auch.
klick ich jetzt meinen Button zum speichern:
Source:

ADOQuery2.Edit;
ADOQuery2Wert1.value := DateToStr(DateTimePicker2.Date);
ADOQuery2.Post;

Sobald Du wieder in den Editmodus gehst, werden die Änderungen durch Dein "append" gepostet, das heißt, Du schreibst erst einen Datensatz mit Deinen Parametern, wobei das Datum leer bleibt, anschließend editierst du einen neuen Datensatz in dem nur das Datum gepostet wird.

Wird kein "commit" in der Datenbank ausgeführt, so werden die Daten auch nicht gespeichert...

Konnte ich Dir helfen?

Gruß,

Barnti

Budda 21. Nov 2003 07:45

Re: Problem mit DBEdit und Parameterübergabe
 
Ich verwende momentan nirgends commit, wird auch alles so gespeichert.
Habe es mittlerweile auch gelöst indem ich die Parameterübergabe so gemacht habe:
Delphi-Quellcode:
ADOQuer2Feldname.Value := ParamStr(1);
usw.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz