Thema: Delphi EXECSQL und Next

Einzelnen Beitrag anzeigen

Benutzerbild von Cosamia
Cosamia

Registriert seit: 27. Feb 2007
Ort: Emmendingen
221 Beiträge
 
Delphi 2007 Professional
 
#1

EXECSQL und Next

  Alt 20. Jun 2008, 09:17
Datenbank: Access • Version: 2003 • Zugriff über: ADO
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;
  Mit Zitat antworten Zitat