日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

vb mysql ado_VB中的ADO数据对象编程详解

發布時間:2023/12/19 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vb mysql ado_VB中的ADO数据对象编程详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ADO是ActiveX Data Objects 的縮寫,是一項新的數據庫的存取技術  那天聽到一位同學說他的女朋友是學新聞的可也學會了數據庫,可學計算機的自己卻還是不會,總覺得有點汗顏.在各網站的論壇上,也常看到網友對數據庫的一些操作很難把握.我想簡單的介紹一下VB中關于ADO對象的一些常識,供同學們參考.其實本人也是剛剛懂了一點,拼湊出這篇文章,希望高手們看了不要見笑,但同時也希望對初學者有所幫助。

ADO是ActiveX Data Objects 的縮寫,是一項新的數據庫的存取技術。相對于VB5.0中的DAO他具有更為簡化的對象模型,無論是存取本地的還是遠程的數據,都提供了一致的接口.就我本人而言,ADO的確比DAO要好用得多。

今天只就ADO的對象模型談一談.ADO定義了一個可編程的對象集合.ADO對象模型如圖所示:

對于ADO其中對象來說,我覺得比較重要的是:Command,Connection,Recordset對象。

雖然嚴格的說這是不準確的,但根據我的實際經驗確實如此.下面就分別來談一下。

(1) Connection對象

Connection對象用于建立與數據庫的連接.通過連接可從應用程序訪問數據源.它保存諸如指針類型,連接字符串,查詢超時,連接超時和缺省數據庫這樣的連接信息.

(2) Command對象

在建立Connection后,可以發出命令操作數據源.一般情況下,Command對象可以在數據庫中添加,刪除或更新數據,或者在表中進行數據查詢.Command對象在定義查詢參數或執行一個有輸出參數的存儲過程時非常有用。

(3) Recordset對象

Recordset對象只代表一個記錄集,這個記錄集是一個連接的數據庫中的表,或者是Command對象的執行結果返回的記錄集.在ADO對象模型中,是在行中檢查和修改數據的最主要的方法,所有對數據的操作幾乎都是在Recordset對象中完成的.Record對象用于指定行,移動行,添加,更改,刪除記錄。

下面就具體地說說如何用ADO存取數據:

在實際編程過程中使用ADO的一個典型的存取數據的步驟為:

(1) 連接數據源

(2) 打開記錄集對象

(3) 使用記錄集

(4) 斷開連接

那么具體怎么是用呢?分別來看。(我在最后將給出一個完整的使用ADO的實例給大家參考.)

(1) 如何連接數據源

利用Connection對象可以創建一個數據源的連接.應用的方法是Connection對象的Open方法。

語法:

Connection對象.Open ConnectionString, UserID, PassWord, OpenOptions

其中:

·Connection對象為你定義的Connection對象的實例;

·ConnectionString為可選項,包含了連接的數據庫的信息;

·UserID 可選項,包含建立連接的用戶名;

·PassWord為可選項,包含建立連接的用戶密碼;

·OpenOptions為可選項,假如設置為adConnectAsync,則連接將異步打開.

(2)打開記錄集對象

實際上記錄集返回的是一個從數據庫取回的查詢結果集.因此他有兩種打開方法:一種使用記錄集的Open方法,另一種是用Connection對象的Execute方法。

(a)記錄集的Open方法

語法:

Recordset.Open Source, ActiveConnection, CursorType, LockType, Options

其中:

·Recordset為所定義的記錄集對象的實例。

·Source可選項,指明了所打開的記錄源信息.可以是合法的命令,對象變量名,SQL語句,表名,存儲過程調用,或保存記錄集的文件名。

·ActiveConnection可選項,合法的已打開的Connection對象的變量名,或者是包含ConnectionString參數的字符串。

·CursorType可選項,確定打開記錄集對象使用的指針類型。

·LockType可選項 確定打開記錄集對象使用的鎖定類型。

(b)Connection對象的Execute方法

語法:

Set recordset=Connection.Execute(CommandText,RecordsAffected,Options)

參數說明:

·CommandText 一個字符串,返回要執行的SQL命令,表名,存儲過程或指定文本。

·RecordsAffected 可選項,Long類型的值,返回操作影響的記錄數。

·Options 可選項,Long類型值,指明如何處理CommandText參數。

介紹完了如何打開數據庫下面說說怎么使用吧.

(3)使用記錄集

(a)添加新的記錄:

在ADO中添加新的記錄用的方法為:AddNew 它的語法為:

Recordset.AddNew FieldList, Values

·Recordset為記錄集對象實例

·FieldList為一個字段名,或者是一個字段數組.

·Values為給要加信息的字段賦的值,如果FiledList為一個字段名,那么Values應為一個單個的數值,假如FiledList為一個字段數組,那么 Values必須也為一個個數,類型與FieldList相同的數組。

再用完AddNew方法為記錄集添加新的記錄后,應使用UpDate將所添加的的數據存儲在數據庫中.不過你最好在用UpDate方法之前使用CancelUpdate方法來取消該項操作。

(b)修改記錄集

其實修改核對記錄集中的數據重新賦值沒有什么太大的區別,只要用SQL語句將要修改的字段的一個數據找出來重新賦值就可以了.這里不再細說了。

(c)刪除記錄

在ADO中刪除記錄集中的數據的方法為:Delete方法,這與DAO對象的方法相同,但是在ADO中它的能力增強了,可以刪掉一組記錄了.

它的語法如下:

Recordset.Delete AffectRecords

其中的,AffectRecords參數是確定Delete方法作用的方式的,它的取值如下:

·adAffectCurrent 只刪除當前的記錄

·adAffectGroup 刪除符合Filter屬性設置的那些記錄.為了一次能刪除一組數據,應設置Filter屬性.

(d)查詢記錄

在ADO中查詢的方法很靈活,有幾種查詢的方法.

·使用連接對象的Execute方法執行SQL命令,返回查詢記錄集.

·使用Command對象的Execute方法執行CommandText屬性中設置的SQL命令,返回查詢記錄集.

第一個方法的具體語法在前面數據連接時已經介紹過了,下面就第二方法具體說一下.

Command對象的Execute方法的語法如下:

Command.Execute RecordsAffected, Parameters, Options '不返回記錄集

或者 Set Rscordset=cmmnad.Execute(RecordsAffected,Parameters,Options) '返回記錄集

CommandText的語法為:

Command.CommandText=stringvariable

其中: stringvariable為字符串變量,包含SQL語句,表名或存儲過程.

(4) 斷開連接

在應用程序結束之前,應該釋放分配給ADO對象的資源,操作系統回收這些資源并可以再分配給其他應用程序。

使用的方法為:Close方法。

語法如下:

Object.Close ' Object為ADO對象

好了,說了那么多的理論,下面我們就應用一下吧!

ADO是ActiveX Data Objects 的縮寫,是一項新的數據庫的存取技術   下面我給出一個我自己寫的實例,是一個用戶登錄,注冊,密碼修改,用戶刪除的應用小程序.你也可以到本版的下載倉庫中下載.

具體實現方法:

在本程序中包括了四個窗體.

·一個用于用戶登錄,名字為:FormDengLu;

·一個用于用戶注冊,名字為:FormZhuCe;

·另一個為用于用戶修改密碼,名字為:FormXiuGai;

·最后一個用于用戶刪除,名字為:FormShanChu.

下面進行ADO對象的定義與設置,不過在這之前你必須在工程中引用ADO對象.

定義ADO對象:

Dim ZhuCe As ADODB.Connection ' ZhuCe為連接對象

Dim rstZhuCe As ADODB.Recordset 'rstZhuCe為記錄集對象

Dim cmmZhuCe As ADODB.Command 'cmmZhuCe為命令對象

在Form_Load過程中應進行如下的ADO設置:

Set ZhuCe = New ADODB.Connection '設置連接對象實例

ZhuCe.CursorLocation = adUseClient

'打開數據源連接

ZhuCe.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=App.Path\注冊.mdb"

'設置記錄集對象實例

Set rstZhuCe = New ADODB.Recordset

Set rstZhuCe.ActiveConnection = ZhuCe

'打來記錄集

rstZhuCe.Open "select * from 注冊", ZhuCe, adOpenStatic, adLockOptimistic

'設置命令對象實例

Set cmmZhuCe = New ADODB.Command

Set cmmZhuCe.ActiveConnection = ZhuCe

添加新的用戶信息(原碼)

If TextYongHuMing.Text = "" Or TextMiMa.Text = "" Or _

TextTiShiWenTi.Text = "" Or TextTiShiDaAn.Text = "" Then

MsgBox "筆添信息沒有添完,請輸入完全", vbOKOnly + vbExclamation, "提示"

Else

If TextJiaoYan.Text = TextMiMa.Text Then

rstZhuCe.MoveLast '記錄集中的移動方法,指針移動到記錄集的末尾

rstZhuCe.AddNew '添加新的記錄

rstZhuCe!用戶名 = TextYongHuMing.Text

rstZhuCe!密碼 = TextMiMa.Text

rstZhuCe!姓名 = TextXingMing.Text

rstZhuCe!昵稱 = TextNiCheng.Text

rstZhuCe!聯系地址 = TextLianXiDiZhi.Text

rstZhuCe!郵政編碼 = TextYouBian.Text

rstZhuCe!OICQ = TextOICQ.Text

rstZhuCe!電子郵件 = TextMail.Text

rstZhuCe!呼機 = TextHuJi.Text

rstZhuCe!手機 = TextShouJi.Text

rstZhuCe!密碼提問 = TextTiShiWenTi.Text

rstZhuCe!提問答案 = TextTiShiDaAn.Text

rstZhuCe!電話號碼 = TextDianHua.Text

rstZhuCe.Update '將上面所有的信息存儲到數據庫中

MsgBox "注冊成功", vbOKOnly + vbInformation, "注冊成功"

Else

MsgBox "校驗密碼與密碼不一致,請重新輸入", vbOKOnly + vbExclamation, _

"密碼錯誤"

TextMiMa.Text = ""

TextJiaoYan.Text = ""

End If

End If

下面為修改用戶密碼(在此中我并沒用到上面提到的兩種方法,但是這種方法也很簡單,實際上應該是屬于第一種方法.

代碼如下:

Dim a As String

Dim b As String

If TextYongHuMing.Text = "" Or TextMiMa.Text = "" Or TextJiaoYanMiMa.Text = "" Or TextXinMiMa.Text = "" Then

MsgBox "修改信息填寫不完全,請重新填寫!", vbOKOnly + vbInformation, "修改錯誤"

TextYongHuMing.Text = ""

TextMiMa.Text = ""

TextJiaoYanMiMa.Text = ""

TextXinMiMa.Text = ""

Else

If TextXinMiMa.Text <> TextJiaoYanMiMa.Text Then

MsgBox "校驗密碼與新密碼不一致,請重新填寫!", vbOKOnly + vbExclamation, "密碼錯誤"

TextJiaoYanMiMa.Text = ""

TextXinMiMa.Text = ""

End If

a = "select 用戶名,密碼 from 注冊 where 用戶名 ='" & _

TextYongHuMing.Text & _

"' AND 密碼 = '" & _

TextMiMa.Text & "';"

rstZhuCe.Open a, ZhuCe, adOpenKeyset, adLockOptimistic

rstZhuCe!密碼 = TextXinMiMa.Text

MsgBox "密碼修改成功,您的新密碼是:" & rstZhuCe!密碼 & "!", vbOKOnly + vbInformation, "修改成功"

End If

也許你這樣看起來的確實有點麻煩,不過你可以去下載全部程序,那樣看起來比較簡單!

下面是用戶的刪除.

代碼如下:

Dim a As String

Dim ok As Integer

Dim i As Integer

rstZhuCe.MoveFirst

For i = 0 To rstZhuCe.RecordCount - 1

If rstZhuCe!用戶名 = ComboYongHuMing.Text And rstZhuCe!密碼 = TextMiMa.Text Then

ok = MsgBox("你確定真的要將此用戶刪除嗎?", vbOKCancel + vbQuestion, "提示")

If ok = 1 Then

rstZhuCe.Delete adAffectCurrent '刪除所找到的用戶

MsgBox "此用戶已經成功刪除!", vbOKOnly + vbInformation, "刪除成功"

End If

End If

rstZhuCe.MoveNext

Next I

http://www.programbbs.com/doc/466.htm

總結

以上是生活随笔為你收集整理的vb mysql ado_VB中的ADO数据对象编程详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。