線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:990
推到 Plurk!
推到 Facebook!

請教一個ADODB元件怪怪的現象

尚未結案
tony777
一般會員


發表:3
回覆:4
積分:1
註冊:2003-12-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-06 20:43:35 IP:220.135.xxx.xxx 未訂閱
請教一個怪怪的現象 我使用ADODB之元件 執行 ADOQuery.Last 這一行指令 可是資料指標怎會移至 EOF, 不是應該在最後一筆嗎 ? 如果這個現象是正常的話, 可否請教應該如何移至最後一筆而不是EOF呢? 謝謝 !
huwk
資深會員


發表:26
回覆:340
積分:323
註冊:2002-04-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-06 21:08:03 IP:211.76.xxx.xxx 未訂閱
不好意思誤會你的意思了~更正 Test Eof (end-of-file) to determine if the cursor is positioned at the last record in a dataset. If Eof is True, the cursor is unequivocally on the last row in the dataset. 當是EOF時。是停在最後一筆! 發表人 - huwk 於 2005/11/06 21:14:37
------
熊的學習 http://huwk.blogspot.com
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-06 21:18:05 IP:59.120.xxx.xxx 未訂閱
您好, 我用 D6 測 ADOQUERY1.LAST 的行為, 它會指到最後一筆(除非是 EMPTY TABLE), 但同時會觸發 EOF flag, 您仍可以取用其欄值. 如果您一路用 next 直到最後一筆, 並不會 eof, 但是再 next 則會 eof. 我想倒也合邏輯的. 敬請參考.
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
tony777
一般會員


發表:3
回覆:4
積分:1
註冊:2003-12-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-07 08:38:26 IP:220.135.xxx.xxx 未訂閱
謝謝各位的回答 我之所以認為它異常是因為 我下達Last之後, 查Dataset指標是指在EOF 接著我再下達Prior, 結果它才停在我真正的最後一筆記錄上. 所以如果我希望讓Last停在真正的最後一筆的話 請問有何解呢? 謝謝!
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-07 10:03:54 IP:203.73.xxx.xxx 未訂閱
引言: 謝謝各位的回答 我之所以認為它異常是因為 我下達Last之後, 查Dataset指標是指在EOF 接著我再下達Prior, 結果它才停在我真正的最後一筆記錄上. 所以如果我希望讓Last停在真正的最後一筆的話 請問有何解呢? 謝謝!
應該是不會有你說的這種問題,我拉一個ADOTable,下了Last然後在Prior結果是正常的!不知你是如何出現這種問題的? Ian
tony777
一般會員


發表:3
回覆:4
積分:1
註冊:2003-12-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-07 22:38:13 IP:220.135.xxx.xxx 未訂閱
我也覺得很納悶, 所以才會覺得它很怪 因為我只是下 ADOQuery1.Last; 該資料表存了三筆料, 結果上述指令居然跑到 Eof, 而不是第三筆資料, 很怪吧!
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-08 08:20:25 IP:203.73.xxx.xxx 未訂閱
引言: 我也覺得很納悶, 所以才會覺得它很怪 因為我只是下 ADOQuery1.Last; 該資料表存了三筆料, 結果上述指令居然跑到 Eof, 而不是第三筆資料, 很怪吧!
程式可以PO上來看看嗎? Ian
tony777
一般會員


發表:3
回覆:4
積分:1
註冊:2003-12-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-08 11:36:25 IP:220.135.xxx.xxx 未訂閱
非常感謝 l630521 的協助 可是因為程式版權歸屬於客戶 因此不太方便將程式碼Post上來, 真的非常的抱歉
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-11-08 13:03:29 IP:211.74.xxx.xxx 未訂閱
引言: 非常感謝 l630521 的協助 可是因為程式版權歸屬於客戶 因此不太方便將程式碼Post上來, 真的非常的抱歉
那可能就愛莫能助了,我這邊是不會有這種情形! Ian
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-11-08 13:10:58 IP:210.243.xxx.xxx 未訂閱
//我用D6 Oracle 8.1.6 ADOConnection1 ADOQuery1 //測試後應屬正常,會停在最後有資料的列上 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids, DB, ADODB; type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOTable1: TADOTable; DataSource1: TDataSource; DBGrid1: TDBGrid; Button1: TButton; DBNavigator1: TDBNavigator; ADOQuery1: TADOQuery; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin form1.ADOQuery1.Last; end; end.
系統時間:2024-06-26 14:45:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!