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

ADOQuery error

尚未結案
wchsieh
一般會員


發表:9
回覆:12
積分:4
註冊:2005-02-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-31 18:11:41 IP:203.66.xxx.xxx 未訂閱
我透過adoquery去抓excel 資料,為何抓出來是空的???? 還有我資料只有10筆,我用id IS NOT NULL 來濾掉空的列 為何迴圈好像會依直跑..連無值的列也會跑???? cn := 'Provider=Microsoft.Jet.OLEDB.4.0;'; cn := cn 'Data Source=D:\BP_OUT_OVER_90DAYS.xls;' cn := cn 'Extended Properties=Excel 8.0;'; ADOQuery1.ConnectionString := cn; adoquery1.SQL.Clear; ADOQuery1.SQL.Text := 'SELECT id,name,tel FROM [sheet1$] WHERE id IS NOT NULL '; TRY ADOQuery1.Open ; WHILE NOT ADOQuery1.Eof DO BEGIN s:=ADOQuery1.FieldByName('id').AsString ; s1:=ADOQuery1.FieldByName('name').AsString ; MEMO1.Lines.Add(s) ; Next; END; FINALLY CLOSE; END;
wchsieh
一般會員


發表:9
回覆:12
積分:4
註冊:2005-02-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-31 18:32:46 IP:203.66.xxx.xxx 未訂閱
我將while條件改為for i:=1 to adoquery1.RecordCount do begin 就不會連空值的列也抓... 但是為何抓出來的值在memo1都是第一筆 筆數是對了..但都是第一筆,這是為什麼ㄋㄟ????
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-31 18:40:38 IP:202.62.xxx.xxx 未訂閱
您好﹗    以下紅色處﹕ WHILE NOT ADOQuery1.Eof DO BEGIN s:=ADOQuery1.FieldByName('id').AsString ; s1:=ADOQuery1.FieldByName('name').AsString ; MEMO1.Lines.Add(s) ; ADOQuery1.Next; ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
wchsieh
一般會員


發表:9
回覆:12
積分:4
註冊:2005-02-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-01 08:55:15 IP:203.66.xxx.xxx 未訂閱
我用while 且改成adoquery1.next後 程式會成功但是會出現.. project reise an exception class eoleexception with message "either EOF or BOF is true,or corrent record has been deleted.requested option requires a corrent record".process stopped . use step or run to continue.?????? 若我用for i:=1 to adoquery1.RecordCount do begin 就沒有adoquery1.next... 資料也都是第一筆耶????
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-01 09:21:00 IP:202.62.xxx.xxx 未訂閱
您好﹗    您是使用Delphi5的嗎﹖請更新d5ADOUpdate2來修复'Either EOF or BOF is true'這個問題﹐修复檔下載連接如下﹕ http://delphi.ktop.com.tw/topic.php?TOPIC_ID=178    在修复之前需要先更新Delphi5 Update Pack 1﹐各版本更新檔連接如下﹕ Standard: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=177 Professional: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=176 Enterprise: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=175    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
wchsieh
一般會員


發表:9
回覆:12
積分:4
註冊:2005-02-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-01 10:44:16 IP:203.66.xxx.xxx 未訂閱
對阿..我是DELPHI5...你真是厲害喔!!!!! 我在ADOQuery1.Next;後加了一行 adoquery1.Last; 就不會出現那錯誤訊息了耶....這樣還需要更新修復嗎?? 'Either EOF or BOF is true'這是什麼問題..若沒更新會怎樣嗎??
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-01 12:04:39 IP:202.62.xxx.xxx 未訂閱
您好﹗    這是基于Delphi5中使用MDAC2.6版本的修正檔案﹐建議您做更新﹐以利于今后的程式設計﹒ 錯誤現象是資料庫中有資料﹐程式碼也無誤﹐但在執行時期使用EOF或BOF時就會出現這樣的錯誤信息﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-06-27 0:36:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!