網路城邦
上一篇 回創作列表 下一篇   字體:
不知其所以然
2014/10/01 18:06:53瀏覽179|回應0|推薦1

過去三天,盯著電腦熒幕抓蟲,右眼覺得很累很乾。

瀏覽記錄的下一節,是增加,刪除,更新記錄。什麼都可以,就是“上一條”沒有起到作用。把與這一節相關的的課文反反復復的看了幾遍,有些疑問點,越看越不懂,例如:

使用MovePrevious方法將當前記錄位置向後移動一個記錄(向REcordset的顶部移动)。Recordset对象必须支持书签或向后移动游标,否则该方法将产生错误。如果当前记录是首记录并调用MovePrevious方法, ADO將把當前記錄位置設置在Recordset的首記錄之前(BOF為True)。在BOF屬性設置為True是,試圖向後移動將產生錯誤。

上面這個說明,是所有我在網上找到的資料裡面都用同樣的文字說明的內容,在數十篇資料當中,可以說一個字都沒有差別。問題是,我看不懂啊! -- 不就是一個按鈕無法完成指派的工作,我怎麼需要看到這些內容呢??

我把這個搗蛋的按鈕編程,重新寫,沒用;參考別的前輩的寫法,幾乎和我(抄課本上老師教的)的一樣,也沒用,只好,盯著教材研究。真的只有天才才懂何謂“Recordset对象必须支持书签或向后移动游标”:

1. 首先,是指哪一個對象?OS:我一直以為是我連接的ACCESS數據庫對象。

2. 書上又說,根據不同的“提供者”(啊,就是前幾節學到的Jet 或 ACE引擎啦),Recordset對象支持的對象會有所不同。OS:當我看到這一句,我覺得好絕望!!

總之,在三天的摸索裡面,終於看到一位好心人寫的很詳細的文章,截取關鍵地方給各位瞧瞧:

Recordset属性 adOpenForwardOnly    adOpenKeyset    adOpenDynamic      adOpenStatic 

BOF                         只读              只读                      只读                 只读 

Bookmark             不支持            不支持                   可读写              可读写 

EOF                         只读              只读                      只读                只读 

Filter            可读写            可读写             可读写        可读写 

LockType          可读写            可读写             可读写        可读写 

MaxRecords        可读写            可读写             可读写        可读写 

RecordCount       不支持            不支持             只读          只读 

AddNew            支持              支持               支持          支持 

CancelUpdate      支持              支持               支持          支持 

Close             支持              支持               支持          支持 

Delete            支持              支持               支持          支持 

GetRows           支持              支持               支持          支持 

Move              不支持            支持               支持          支持 

MoveFirst         支持              支持               支持          支持 

MoveLast          不支持            支持               支持          支持 

MoveNext          支持              支持               支持          支持 

MovePrevious      不支持            支持               支持          支持 

NextRecordset     支持              支持               支持          支持 

Open              支持              支持               支持          支持 

Requery           支持              支持               支持          支持 

Update            支持              支持               支持          支持 

從這位大俠寫的資料(OS: 全世界大概只有他會這麼閑的將這種工具書才有的資料寫在網上)我突然看懂了“Recordset對象必须支持书签或向后移动游标”這句話,以及所有資料上寫了N百遍的"游標":

adOpenForwardOnly     默认值,只能向前滚动,当需要单向移动时,提高性能

adOpenKeySet             与动态游标相似,可以查看其他用户更改的数据

adOpenDynamic            可以看到其他用户的添加、更改、删除,允许在记录集进  行所                                    有类型的移动,但不包括提供者不支持的书签操作

AdOpenStatic             可以用来查找数据的静态副本。对其他用户的添加、更改、删除不                                  可见

即, 這四種可選的游標決定了Recordset對象是否支持書籤以及向后移動游標。所以,我第一個問題得到答案。再檢查我用的游標是既支持書籤又支持向後移動的adOpenKeySet,表示,老师没错我也没错。

那麼,錯在什麼地方呢?

答案:我不知道。

我把這個搗蛋的按鈕刪掉,重新設置一個新的按鈕,寫上老師的代碼,人家新的代碼,運行的很起勁,什麼問題也乜有!!

( 知識學習科學百科 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=bonjour2007002&aid=17757092