Guten Morgen,
und da bin ich wieder mit meiner obligatorischen morgenfrage...
Ich bin dabei mehrere Textboxen über eine
Query anzusprechen und dank Button in eine Datenbank zu schreiben...soweit so gut...
nun bekomme ich allerdings schon bei der 2. Textbox die Fehlermeldung Adoquery1: Operation bei geschlossener Datenmenge nicht ausführbar
nun meine frage an euch...woran könnte das liegen ???
Delphi-Quellcode:
//----------erste Textbox--------------\\
if adoquery1.Locate('
Versuchs_ID',tb_versuch_id.Text,[])
then
adoquery1.FieldByName('
Versuchs_ID').AsString;
with adoquery1
do
begin
close;
sql.Clear;
sql.Add('
UPDATE dbo_Versuchsflaechen_ST');
sql.Add('
SET Versuchs_ID =' + QuotedStr (tb_versuch_id.Text));
sql.Add('
WHERE Versuchsfl_Bezeichnung =' + quotedstr(cbo_bezeichnung.Text));
//sql.Add('SELECT dbo_Versuchsflaechen_ST.Versuchs_ID,');
//sql.Add('dbo_Versuchsflaechen_ST.Versuchsfl_Bezeichnung, dbo_Versuchsflaechen_ST.Versuchs_ID');
//sql.Add('FROM dbo_Versuchsflaechen_ST');
//sql.Add('WHERE dbo_Versuchsflaechen_ST.Versuchsfl_Bezeichnung ='+ quotedstr(versflid));
//open;
ExecSQL;
end;
while not adoquery1.Eof
do
begin
adoquery1.Edit;
adoquery1.FieldByName('
Versuchs_ID').Asstring:=tb_versuch_id.Text;
adoquery1.Post;
tb_versuch_id.Clear;
adoquery1.Next;
end;
//----------------zweite Textbox--------------\\
// Bei dieser if Anweisung springt er dann raus...
if adoquery1.Locate('
Behandlung',tb_behandlung.Text,[])
then
adoquery1.FieldByName('
behandlung').AsString;
with adoquery1
do
begin
close;
sql.Clear;
sql.Add('
UPDATE dbo_Versuchsflaechen_ST');
sql.Add('
SET Behandlung =' + QuotedStr (tb_behandlung.Text));
sql.Add('
WHERE Versuchsfl_Bezeichnung =' + quotedstr(cbo_bezeichnung.Text));
//open;
ExecSQL;
end;
while not adoquery1.Eof
do
begin
adoquery1.Edit;
adoquery1.FieldByName('
Behandlung').Asstring:=tb_behandlung.Text;
adoquery1.Post;
tb_behandlung.Clear;
adoquery1.Next;
end;
bei der ersten box klappt das tadellos nur ei der 2. nicht mehr...
Und das leben geht weiter.....