全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1878
推到 Plurk!
推到 Facebook!

請問ado錯誤訊息Either BOF or EOF is True?

答題得分者是:timhuang
writeman
初階會員


發表:31
回覆:34
積分:28
註冊:2004-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-25 08:45:38 IP:61.70.xxx.xxx 未訂閱
  為什麼我第一次呼叫下面這個function時會傳回正確的值,
  但第二次呼叫時,卻出現EoleException with message 
  'Either BOF or EOF is True, or the current record has
   been deleted. Requested operation requires a current
   record
   
  function getsuplid(a: integer): integer;
  begin
    result:= 0;
    adoquery3.Close;
    adoquery3.SQL.Clear;
    adoquery3.SQL.Add('select cusp_cusp_id from custsupy where cusp_cmpy_id = a');
    doquery3.Open;
    adoquery3.First;
    while not adoquery3.Eof do begin
      result:= adoquery3.Fields.Fields[0].AsInteger;
      adoquery3.next;
    end;
  end;    
Tony-Tang
一般會員


發表:7
回覆:17
積分:9
註冊:2003-10-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-25 08:50:47 IP:61.219.xxx.xxx 未訂閱
當DataSet Open時,要判斷是否有資料,再做資料控制
function getsuplid(a: integer): integer;
begin
  result:= 0;
  adoquery3.Close;
  adoquery3.SQL.Clear;
  adoquery3.SQL.Add('select cusp_cusp_id from custsupy where cusp_cmpy_id = a');
  doquery3.Open;
  if doquery3.RecordCount > 0 then begin 
    adoquery3.First;
    while not adoquery3.Eof do begin
        result:= adoquery3.Fields.Fields[0].AsInteger;
        adoquery3.next;
      end;
    end;
  end;
end;
發表人 - Tony-Tang 於 2004/11/25 08:54:42
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-25 09:06:09 IP:203.95.xxx.xxx 未訂閱
請問是使用 delphi 5 w/ ado 嗎? 看一下這篇, http://info.borland.com/devsupport/delphi/mdac26.html 更新一下應該可以解決!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-25 10:07:15 IP:61.222.xxx.xxx 未訂閱
如果您使用為 Delphi5 並配合MDAC 2.6版以上{ 除Win9X外系統均為2.6版以上} 那麼就表示為 Delphi5 的BUG 請下載 ADO SevicePack 2
系統時間:2024-05-18 15:32:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!