午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    VB如何連接ACCESS數(shù)據(jù)庫
    來源:易賢網(wǎng) 閱讀:1041 次 日期:2014-09-09 09:52:16
    溫馨提示:易賢網(wǎng)小編為您整理了“VB如何連接ACCESS數(shù)據(jù)庫”,方便廣大網(wǎng)友查閱!

    由于VB本身并不帶有可以訪問數(shù)據(jù)庫的類,所以我們需要引用一個包含能訪問數(shù)據(jù)庫的類來使用數(shù)據(jù)庫.這里我們采用ADODB,相比DAO和能訪 問數(shù)據(jù)庫的API來說,它比DAO更靈活,更強大;而比起API,它更簡單易用,更適合初學(xué)者.而Access數(shù)據(jù)庫比起SQL,也相對簡單了很多,且能 夠滿足中小型應(yīng)用程序的需要,所以我們在使用數(shù)據(jù)庫時,選擇了Access.

    就像使用文本文件來存儲數(shù)據(jù)一樣,我們需要先設(shè)計好數(shù)據(jù)結(jié)構(gòu),只不過在設(shè)計Access數(shù)據(jù)庫的結(jié)構(gòu)時,我們需要用到其它的程序來進行詳細的規(guī)劃.建議采用的程序是office中的Access或VB自帶的VISDATA.

    當(dāng)數(shù)據(jù)庫設(shè)計好了以后,我們可以開始數(shù)據(jù)庫編程了.

    首先,我們需要引用ADO.具體的方法是,在工程 -- 引用 中,找到Microsoft ActiveX Data Object *.* Library,這里的*.*是指的時ADO的版本號,一般來說,應(yīng)用程序或ActiveX控件都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確 保程序在能識別舊版本Access的同時,也能識別較新版本的Access.

    然后我們需要在程序中創(chuàng)建一個對象.就好比我們在窗體上添加一個FileBox才能看到文件名一樣,只有創(chuàng)建了ADO對象,我們才能夠訪問數(shù)據(jù)庫.常用的對象有兩個,Connection和Recordset.

    創(chuàng)建這兩個對象的具體方法是:

    1.在引用后,使用New關(guān)鍵字,如

    Private Conn As New ADODB.Connection

    Private Reco As New ADODB.Recordset

    2.在沒引用時,用CreateObject創(chuàng)建對象:

    Dim Conn,Reco

    Set Conn = CreateObject(ADODB.Connection)

    Set Reco = CreateObject(ADODB.Recordset)

    創(chuàng)建了對象之后,下一步我們要做的就是打開數(shù)據(jù)庫了.

    先看下面的代碼,可以成功的打開數(shù)據(jù)庫.

    Conn.open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Main.mdb

    這句代碼打開了D盤中的Main.mdb這個數(shù)據(jù)庫.

    Connection.Open方法的第一個參數(shù)是連接代碼,它將傳遞給系統(tǒng)的數(shù)據(jù)庫引擎.前半部分 Provider=Microsoft.Jet.OLEDB.4.0,它表示了數(shù)據(jù)庫的類型.不同的數(shù)據(jù)庫可能會不同.后半句 Source=d:main.mdb它表示了數(shù)據(jù)庫所在的絕對路徑.

    打開數(shù)據(jù)庫之后,還要打開表.假如數(shù)據(jù)庫中有一個表,表名為Users,字段有兩個,一個為用戶名,一個為密碼.那么看以下代碼.

    1.想返回Users中,[用戶名]為去年煙花的[密碼]

    Recordset.open Select 密碼 From Users Where 用戶名='去年煙花',Connection,1,1

    之后我們就可以把用戶輸入的密碼進行比較,看是否允許登錄.

    If Recordset.eof and Recordset.bof then

    Msgbox 用戶不存在!,16

    Else

    If PassWord =Recordset(密碼).value then

    msgbox 登錄成功!,64

    Else

    msgbox 密碼錯誤!,32

    End If

    End If

    Recordset.Close

    2.假設(shè)Admin已經(jīng)成功登錄系統(tǒng),我們想把所有的用戶名和密碼都顯示出來

    Recordset.open Select * From Users,Connection,1,1

    這時,表已經(jīng)被打開,我們就用以下代碼把它顯示出來.

    Do whlie Not Recordset.eof

    Print 用戶名: & Recordset(用戶名).value & 密碼: & Recordset(密碼).value

    Recordset.MoveNext

    Loop

    Recordset.Close

    由以上代碼示例可以看出,打開表時,可以只打開其中的一個字段,也可以打開所有.第一個參數(shù)是SQL語句.

    Select [字段名] From 表名 [Where 條件]

    這里的條件可以省略.且字段名也可以用*來代替所有字段.

    需要注意的是,如果你用(1)中的方法打開,那么(2)后面顯示的代碼就不能再用在(1)中.因為(1)里并沒有打開[用戶名]字段,所以這一句Recordset(密碼)就沒有值存在,還有可能出錯.

    后面的條件,可以用=、>、<等運算符.比如 Where ID > 32.(這里假設(shè)[ID]為數(shù)字型.)

    這是打開的部分.第二個很重要的部分就是查詢記錄.

    數(shù)據(jù)庫它并不是把所有記錄全部放到一個變量中備用的.而是以當(dāng)前記錄的形式來返回一個值.所以我們想從中找到有用的信息,就必須要對信息進行定位/篩選.

    定位:

    移動到下一條 Recordset.MoveNext

    移動到上一條 Recordset.MovePrevious

    移動到最后一條 Recordset.MoveLast

    移動到第一條 Recordset.MoveFrist

    移動到某一條 Recordset.Move Number

    篩選:

    Recordset.Find 條件

    如:[用方法(2)打開表之后]

    Private Sub Command1_Click()

    Recordset.Find 用戶名= & text1.text

    If Recordset.Eof <> True Then

    Msgbox 該用戶的密碼是: & Recordset(密碼).value,64

    Else

    Msgbox 未找到該用戶的資料!,16

    End If

    End Sub

    MoveNext 只有當(dāng)Eof不為True時,才可用,否則發(fā)生錯誤.而MovePrevious剛是Bof不為True時....

    而只要Eof 和 Bof中有一個不為真時,也就是說只要有一條記錄時,它就可以使用.

    Find 方法中的條件和Open時的第一個參數(shù)中的條件表述方法是完全一致的.當(dāng)在已打開的記錄集中,找不到該記錄時,Eof為True.找到則當(dāng)前的值就是符合條件的記錄.

    第三個部分就是添加/修改記錄.

    修改記錄很簡單,先按以上的方法找到相關(guān)記錄之后,給記錄賦值就可以了.

    比如:[(修改密碼)按方法(1)打開表之后]

    Recordset(密碼).value = 123456

    Recordset.Updata

    需要注意的就是,在修改完成后,要調(diào)用Updata方法,這樣修改才能生效.

    而添加記錄則可以用以下代碼來實現(xiàn):

    Recordset.addnew

    Recordset(用戶名).value = Admin

    Recordset(密碼).value = Admin

    Recordset.Updata

    這里,先要調(diào)用Addnew方法,增加一條新記錄,然后對這個新記錄中的各字段賦值,最后再調(diào)用Updata方法.

    到這里就差不多了,最后說一下上面提到的幾個方法.

    Recordset.Open SQL語句,數(shù)據(jù)源,游標類型,打開方法

    SQL語句不用說了,就是Select那啥的,目的就是按要求從表中返回數(shù)據(jù)

    數(shù)據(jù)源就是一個打開之后的Connection對象.

    填1就可以了

    打開方法對應(yīng)了幾個常數(shù),具體哪幾個可以從對象瀏覽器里看。

    對應(yīng)數(shù)值的意義:

    1 只讀 2 獨占 3 可寫 4 自已可寫,別人可讀。

    Connection.open 連接代碼,服務(wù)器用戶名,密碼。

    這里的連接代碼就不在多說了,服務(wù)器用戶名,密碼只有在連接遠程數(shù)據(jù)庫時才用到。

    更多信息請查看IT技術(shù)專欄

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機網(wǎng)站地址:VB如何連接ACCESS數(shù)據(jù)庫

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)