西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫教程 → VB語言接ADO數(shù)據(jù)庫(ACCES)、VB用ADO連接SQLServer數(shù)據(jù)庫

VB語言接ADO數(shù)據(jù)庫(ACCES)、VB用ADO連接SQLServer數(shù)據(jù)庫

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2014/8/17 10:17:49字體大小:A-A+

作者:西西點(diǎn)擊:553次評(píng)論:0次標(biāo)簽: VBasic

  • 類型:翻譯工具大。4.4M語言:多國語言[中文] 評(píng)分:8.3
  • 標(biāo)簽:
立即下載

幾年前學(xué)過的VB幾乎忘光了,這幾天復(fù)習(xí)了下。
VB連接ADO數(shù)據(jù)庫并不是非常難。
連接第一步(要仔細(xì)看)
對(duì)于小白來講,這里的教程最詳細(xì),連接ADO數(shù)據(jù)庫第一步,要添加什么部件呢?全稱是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件。
在Microsoft ADO Data Control 6.0 (SP6) (OLEDB)部件里有一個(gè)名叫:Adodc數(shù)據(jù)控件,要將它添加。在Adodc數(shù)據(jù)控件數(shù)據(jù)位置中找到ACCES。

控件引用的方法(值指的是姓名)
For i = 1 To Adodc1.Recordset.RecordCount
     If Not Adodc1.Recordset.EOF Then

      Combo1.AddItem Adodc1.Recordset.Fields("值").Value

      Adodc1.Recordset.Movenext
End If
Next i

該代碼引用的編寫者是ydl890406大大,在VB群中寫這東西時(shí),讓我借用了,后來我發(fā)現(xiàn)有很多錯(cuò)誤,y大神修改幾次后的還是有錯(cuò)誤,干脆重寫了一遍,這就是后來的代碼。時(shí)間過去的很快,VB群也解散了。后來不知為何,現(xiàn)在很多的教程都用了這段代碼。
第二部分是AOD的代碼連接,由于第二部分涉及到Recordset對(duì)象和Connection對(duì)象,自己學(xué)一下,完全可以自己編寫
何為Recordset對(duì)象和Connection對(duì)象,Connection對(duì)象是與數(shù)據(jù)源的連接,Recordset對(duì)象是操作數(shù)據(jù)。

尋找Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件

VB用ADO連接SQLServer數(shù)據(jù)庫

 '數(shù)據(jù)源信息常量
 Public Const conn As String = "Provider = SQLOLEDB.1;Password = sa; UserID = sa; Initial Catalog = StudentFiles; Data Source = localhost"

 Public Const CONNECT_LOOP_MAX = 10  '一次執(zhí)行connect操作,可以訪問數(shù)據(jù)庫的次數(shù)

 Private IsConnect As Boolean  '標(biāo)記數(shù)據(jù)庫是否連接

 Private Connect_Num As Integer  '標(biāo)記執(zhí)行Connect()函數(shù)后訪問數(shù)據(jù)的次數(shù)

 Private cnn As ADDODB.Connection '連接數(shù)據(jù)庫的Connect對(duì)象
 
 Private re As ADDODB.Recordset  '保存結(jié)果集的Recordset對(duì)象

//連接數(shù)據(jù)庫
 Private Sub Connect()
 ’如果連接標(biāo)記為真,則返回。
  IF IsConnect = True Then 
     Exit Sub
  End If

  Set cnn = New ADODB.Connection '關(guān)鍵new用于創(chuàng)建新對(duì)象cnn
  
  cnn.ConnectionString = conn
  
  cnn.Open
  '判斷連接的狀態(tài)
  If cnn.State <> adStateOpen Then
     MsgBox"數(shù)據(jù)庫連接失敗"
     End
  End If

  '設(shè)置連接標(biāo)識(shí),表示已經(jīng)連接到數(shù)據(jù)庫
  IsConnect = True
End Sub


'斷開與數(shù)據(jù)庫的連接
Private Sub DisConnect()
  Dim rc As Long

  If IsConnect = False Then
     Exit Sub
  End If
  '關(guān)閉連接
  cnn.Close
  '釋放cnn
  Set cnn = Nothing
  IsConnect = False
End Sub

'使用Connect_Num控制數(shù)據(jù)連接
Public Sub DB_Connect()
   Connect_Num = Connect_Num + 1
   Connect
End Sub

'使用Connect_Num控制數(shù)據(jù)斷開
Public Sub DB_Disconnect()
If Connect_Num >= CONNECT_LOOP_MAX Then
   Connect_Num = 0
   Disconnect
 End If
 End Sub

'強(qiáng)制關(guān)閉api方式訪問俄的數(shù)據(jù)庫,計(jì)數(shù)器復(fù)位
Public Sub DBapi_Disconnect()
   Connect_Num = 0
   Disconnect
End Sub

'執(zhí)行數(shù)據(jù)庫操作語言
'byval 就是按參數(shù)的值傳遞,再傳遞過程中,參數(shù)不會(huì)發(fā)生變化(也就是將參數(shù)值而不是將地址傳遞給過程的方式,這就使過程訪問發(fā)哦變量的副本,過程不可改變變量的值);
與之對(duì)應(yīng)的是byref,指按參數(shù)的地址傳值,byref可以省略
Public Sub SQLExt(ByVal TmpSQLstmt As String )   

    Dim cmd As New ADODB.Command '創(chuàng)建Command對(duì)象cmd
    
    DB_Connect  '連接數(shù)據(jù)庫
    
    Set cmd.ActiveConnection = cnn '設(shè)置cmd的ActiveConnect屬性,指定與其關(guān)聯(lián)的數(shù)據(jù)庫連接

    cmd.CommandText = TmpSQLstmt '設(shè)置要執(zhí)行的命令文本

    'MsgBox TmpSQLstmt

    cmd.Execute  '執(zhí)行命令

    Set cmd = Nothing

    DB_DisConnect  '斷開與數(shù)據(jù)庫的連接

End Sub

'執(zhí)行數(shù)據(jù)庫查詢語句
Public Function QueryExt(ByVal TmpSQLstmt As String ) As ADODB.Recordset
    
    Dim rst As New ADODB.Recordset  '創(chuàng)建Rescordset對(duì)象rst

    DB_Connect  '連接數(shù)據(jù)庫

    Set rst.ActiveConnection = cnn  '設(shè)置rst的ActiveConnection屬性,指定與其相關(guān)的數(shù)據(jù)庫的連接

    rst.CursorType = adOpenDynamic  '設(shè)置游標(biāo)類型

    rst.LockType = adLockOptimistic  '設(shè)置鎖定類型

    rst.Open TmpSQLstmt '打開記錄集

    Set QueryExt = rst '返回記錄集

    End Function

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)