2012-11-07 4 views
0

Help !!! 델파이에서 간단한 ADOQuery 인 사전 생성 된 보고서를 호출 할 때 미리 생성 된 보고서에서 마스터 데이터 밴드의 행 수를 설정하지 않으면 EOF 오류가 발생합니다 (EOF 또는 BOF가 참이거나 현재 레코드가 삭제되었습니다). 그리고 보고서는 잘로드됩니다. 그러나 내가 마스터 데이터의 행 수보다 작거나 같은 수를 설정하면 오류가 발생하지 않습니다. 델파이 (Delphi)라는 보고서에서 ADO를 실행할 때 마스터 레코드의 수를 알아야합니까? 여기에 내가보고 전화를 사용하고있는 코드는 다음과 같습니다EOF 오류 델파이 빠른 보고서 4

... 

var Connection1 : tfrxAdoDatabase; //connection variable 
    Query1 : tfrxADOQuery; 
... 



with tfrxReport.create(self) do 
    try 
     //Load Report 
     LoadFromFile(ReportName); 
     //load connection properties 
     Connection1 := FindObject('Connection1') as tfrxAdoDatabase; 
     //define connection username and password 
     Connection1.setlogin('sysdba','BLAHBLAH'); 
     // prepare and show report 
     if Preparereport then 
     ShowPreparedReport; 
    finally 
     end; 

나는 브랜드 빠른 보고서를 사용하여 새 (금주 내가 그것을 처음 사용 해요 임 정말 그렇게 어떤 도움을 크게 감상 할 수 고투.)

+1

이 문제는 FastReport와 아무 관련이 없습니다. 당신이 얻는 에러는 ADO 에러 ('tfrxAdoDatabase')입니다. 이 [off-site article] (http://classicasp.aspfaq.com/general/why-do-i-get-bof-or-eof-errors.html)이 도움이 될 수 있습니다. –

+0

tfrxAdoDatabase는 빠른 보고서 구성 요소이며 사용하는 쿼리에는 행이 있으며 호출하기 전에 수정 된 테이블이없는 뷰에서 가져 오는 쿼리입니다. 마치 코드가 없을 때 깨기로 결정한 것뿐입니다. – Tidmore

+2

나는 그것이 사실이지만, 예외는 ADO (내가 마지막 코멘트에서 언급했듯이)가 아니라 FastReport가 제기 한 것임을 알고있다. ** ADO 예외 **입니다. –

답변

2

켄이 옳았는데, 그 ADO 오류, 문제는 frxadocomponent 집합이 델파이와 상호 작용하는 방식이었습니다. Delphi에 대한 AD 구성 요소의 업데이트가 있지만 Delphi 5는 더 이상 지원되지 않으므로 찾기가 어려웠습니다. 나는 그것을 여기에서 발견했다 : http://alexandrecmachado.blogspot.com/2009/07/delph-5-update-packs.html 당신의 도움에 감사합니다 Ken