資源描述:
《掌握vb中ado數(shù)據(jù)對(duì)象編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、那天聽(tīng)到一位同學(xué)說(shuō)他的女朋友是學(xué)新聞的可也學(xué)會(huì)了數(shù)據(jù)庫(kù),可學(xué)計(jì)算機(jī)的自己卻還是不會(huì),總覺(jué)得有點(diǎn)汗顏。在各網(wǎng)站的論壇上,也??吹骄W(wǎng)友對(duì)數(shù)據(jù)庫(kù)的一些操作很難把握。我想簡(jiǎn)單的介紹一下VB中關(guān)于ADO對(duì)象的一些常識(shí),供同學(xué)們參考。其實(shí)本人也是剛剛懂了一點(diǎn),拼湊出這篇文章,希望高手們看了不要見(jiàn)笑,但同時(shí)也希望對(duì)初學(xué)者有所幫助。ADO是ActiveXDataObjects的縮寫(xiě),是一項(xiàng)新的數(shù)據(jù)庫(kù)的存取技術(shù)。相對(duì)于VB5.0中的DAO他具有更為簡(jiǎn)化的對(duì)象模型,無(wú)論是存取本地的還是遠(yuǎn)程的數(shù)據(jù),都提供了一致的接口。就我本人而言,ADO的確比DAO要好用得多。今天只就ADO的對(duì)
2、象模型談一談,ADO定義了一個(gè)可編程的對(duì)象集合,ADO對(duì)象模型如圖所示:對(duì)于ADO其中對(duì)象來(lái)說(shuō),我覺(jué)得比較重要的是:Command,Connection,Recordset對(duì)象。雖然嚴(yán)格的說(shuō)這是不準(zhǔn)確的,但根據(jù)我的實(shí)際經(jīng)驗(yàn)確實(shí)如此。下面就分別來(lái)談一下。(1)Connection對(duì)象Connection對(duì)象用于建立與數(shù)據(jù)庫(kù)的連接。通過(guò)連接可從應(yīng)用程序訪問(wèn)數(shù)據(jù)源。它保存諸如指針類(lèi)型,連接字符串,查詢(xún)超時(shí),連接超時(shí)和缺省數(shù)據(jù)庫(kù)這樣的連接信息。(2)Command對(duì)象在建立Connection后,可以發(fā)出命令操作數(shù)據(jù)源。一般情況下,Command對(duì)象可以在數(shù)據(jù)庫(kù)中添
3、加,刪除或更新數(shù)據(jù),或者在表中進(jìn)行數(shù)據(jù)查詢(xún)。Command對(duì)象在定義查詢(xún)參數(shù)或執(zhí)行一個(gè)有輸出參數(shù)的存儲(chǔ)過(guò)程時(shí)非常有用。(3)Recordset對(duì)象Recordset對(duì)象只代表一個(gè)記錄集,這個(gè)記錄集是一個(gè)連接的數(shù)據(jù)庫(kù)中的表,或者是Command對(duì)象的執(zhí)行結(jié)果返回的記錄集。在ADO對(duì)象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對(duì)數(shù)據(jù)的操作幾乎都是在Recordset對(duì)象中完成的。Record對(duì)象用于指定行,移動(dòng)行,添加,更改,刪除記錄。下面就具體地說(shuō)說(shuō)如何用ADO存取數(shù)據(jù):在實(shí)際編程過(guò)程中使用ADO的一個(gè)典型的存取數(shù)據(jù)的步驟為:(1)連接數(shù)據(jù)源(2)打開(kāi)
4、記錄集對(duì)象(3)使用記錄集(4)斷開(kāi)連接那么具體是怎么用呢?分別來(lái)看。(我在最后將給出一個(gè)完整的使用ADO的實(shí)例給大家參考。)(1)如何連接數(shù)據(jù)源利用Connection對(duì)象可以創(chuàng)建一個(gè)數(shù)據(jù)源的連接。應(yīng)用的方法是Connection對(duì)象的Open方法。語(yǔ)法:Connection對(duì)象.OpenConnectionString,UserID,PassWord,OpenOptions其中:·Connection對(duì)象為定義的Connection對(duì)象的實(shí)例;·ConnectionString為可選項(xiàng),包含了連接的數(shù)據(jù)庫(kù)的信息;·UserID可選項(xiàng),包含建立連接的用戶(hù)名
5、;·PassWord為可選項(xiàng),包含建立連接的用戶(hù)密碼;·OpenOptions為可選項(xiàng),假如設(shè)置為adConnectAsync,則連接將異步打開(kāi)。(2)打開(kāi)記錄集對(duì)象實(shí)際上記錄集返回的是一個(gè)從數(shù)據(jù)庫(kù)取回的查詢(xún)結(jié)果集。因此他有兩種打開(kāi)方法:一種使用記錄集的Open方法,另一種是用Connection對(duì)象的Execute方法。(a)記錄集的Open方法語(yǔ)法:Recordset.OpenSource,ActiveConnection,CursorType,LockType,Options其中:·Recordset為所定義的記錄集對(duì)象的實(shí)例?!ource可選項(xiàng),指
6、明了所打開(kāi)的記錄源信息??梢允呛戏ǖ拿?,對(duì)象變量名,SQL語(yǔ)句,表名,存儲(chǔ)過(guò)程調(diào)用,或保存記錄集的文件名?!ctiveConnection可選項(xiàng),合法的已打開(kāi)的Connection對(duì)象的變量名,或者是包含ConnectionString參數(shù)的字符串。·CursorType可選項(xiàng),確定打開(kāi)記錄集對(duì)象使用的指針類(lèi)型?!ockType可選項(xiàng)確定打開(kāi)記錄集對(duì)象使用的鎖定類(lèi)型。(b)Connection對(duì)象的Execute方法語(yǔ)法:Setrecordset=Connection.Execute(CommandText,RecordsAffected,Option
7、s)參數(shù)說(shuō)明:·CommandText一個(gè)字符串,返回要執(zhí)行的SQL命令,表名,存儲(chǔ)過(guò)程或指定文本?!ecordsAffected可選項(xiàng),Long類(lèi)型的值,返回操作影響的記錄數(shù)?!ptions可選項(xiàng),Long類(lèi)型值,指明如何處理CommandText參數(shù)。介紹完了如何打開(kāi)數(shù)據(jù)庫(kù)下面說(shuō)說(shuō)怎么使用吧。(3)使用記錄集(a)添加新的記錄:在ADO中添加新的記錄用的方法為:AddNew它的語(yǔ)法為:Recordset.AddNewFieldList,Values·Recordset為記錄集對(duì)象實(shí)例·FieldList為一個(gè)字段名,或者是一個(gè)字段數(shù)組?!alues
8、為給要加信息的字段賦的值,如果FiledList為一