Hallo zusammen,
ich habe ein Problem im ExecSql und einem folgenden AdoQuery.next.
Fehler Meldung : Operation bei geschlossener Datenmenge nicht möglich.
Bei einem vorgelagerten AdoQuery.open bekäme ich die Fehlermeldung ""Der aktuelle Provider unterstützt nicht die Wiedergabe mehrfacher Recordsets bei einer einzelnen Ausführung"
Ich will nach dem ersten Datensatz in der
Query den nächsten verarbeiten, und dies gelingt mir einfach nicht.
Jemand ne Idee?
Danke.
Delphi-Quellcode:
{Query nach Countabfrage neu füllen}
adoquerydruck.active:=false;
adoquerydruck.sql.Clear;
adoquerydruck.sql.text := '
SELECT * FROM qryDruck';
adoquerydruck.Open;
adoquerydruck.First;
While Not ADOQuerydruck.Eof
do
begin
{Typ bestimmen}
cltype := adoquerydruck.FieldByName('
TYP').AsString;
selectedid := adoquerydruck.FieldByName('
Zahl').AsInteger;
{Felder aus der INI lesen}
IniFile := TIniFile.create(GetIniFilename);
try
clprintfields := IniFile.ReadString ('
CLTYPES',cltype,'
');
finally
inifile.Free;
end;
{Printfields zusammensetzen / CL-Felder mit Stammdaten}
Printfields := '
Name,Kundennummer,Strasse,Ort,PLZ,Fax,Telefon,EMail,Zahl,Kommission,'+clprintfields;
{Felder aus der INI in ein SELECT bügeln}
adoquerydruck.Active := true;
adoquerydruck.sql.Clear;
adoquerydruck.sql.text := '
insert into tempdruck ('+printfields+'
) SELECT '+printfields+'
FROM qryDruck where zahl ='+inttostr(selectedid);
adoquerydruck.ExecSQL;
adoquerydruck.Next;
//Da kracht es !!
end;