Hallo zusammen,
ich habe folgende Fehlermeldung bei einer Abfrage mit ADOQuery bekommen:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt UPDATE.exe ist eine
Exception der Klasse EOleException mit der Meldung 'Fehler bei einem aus mehreren Schritten bestehenden Vorgang. Prüfen Sie die einzelnen Statuswerte' aufgetreten.
---------------------------
Umgehen konnte ich den Fehler, indem ich ein paar Felder von der Ausgabe ausgeschlossen habe oder indem ich das Datum gleich als String ausgegeben habe (to_date(...)).
Ich finde es nur seltsam, daß diese Abfrag erst beim 100. oder 125. oder 130. oder ... Durchlauf vor die Wand läuft. Wisst Ihr wo es da klemmt?
Delphi-Quellcode:
const
sqltext='select tabdos.idedos,coddos,noorig,tabbre.numdep,tabbre.datdep,tabpay.codpay '+
',tabbre.numpub,tabbre.datpub,tabbre.numdlv,tabbre.datdlv'+
',to_char(tabbre.datexp,''YYYYMMDD'') datexp,to_char(tabbre.databd,''YYYYMMDD'') databd '+ { so geht's}
// ',tabbre.datexp,tabbre.databd ' -- so geht's nicht
'from tabdos,tabbre,tabpay '+
'where tabdos.idedos=tabbre.idedos '+
' and tabpay.idepay=tabbre.idepay '+
' and tabbre.idebre=:_idebre ';
begin
result:='';
upd_dm.ADOQ_MIS.close;
upd_dm.ADOQ_MIS.sql.Text:=sqltext;
upd_dm.ADOQ_MIS.Parameters.ParamByName('_idebre').value:=idebre;
upd_dm.ADOQ_MIS.open;
if not upd_dm.ADOQ_MIS.eof then begin
repeat
result:='CODDOS='+upd_dm.ADOQ_MIS.fieldbyname('coddos').AsString+
' NOORIG='+upd_dm.ADOQ_MIS.fieldbyname('noorig').AsString+
' CODPAY='+upd_dm.ADOQ_MIS.fieldbyname('codpay').AsString+
' NUMDEP='+upd_dm.ADOQ_MIS.fieldbyname('numdep').AsString+
' DATDEP='+upd_dm.ADOQ_MIS.fieldbyname('datdep').AsString+
' NUMPUB='+upd_dm.ADOQ_MIS.fieldbyname('numpub').AsString+
' DATPUB='+upd_dm.ADOQ_MIS.fieldbyname('datpub').AsString+
' NUMDLV='+upd_dm.ADOQ_MIS.fieldbyname('numdlv').AsString+
' DATDLV='+upd_dm.ADOQ_MIS.fieldbyname('datdlv').AsString+
' DATABD='+upd_dm.ADOQ_MIS.fieldbyname('databd').AsString+
' DATEXP='+upd_dm.ADOQ_MIS.fieldbyname('datexp').AsString;
upd_dm.ADOQ_MIS.next;
until upd_dm.ADOQ_MIS.eof;
end;
upd_dm.ADOQ_MIS.close;
end;
Gruß
K-H