程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB言語運用ADO銜接、操作SQLServer數據庫教程

VB言語運用ADO銜接、操作SQLServer數據庫教程

編輯:VB綜合教程

VB言語運用ADO銜接、操作SQLServer數據庫教程。本站提示廣大學習愛好者:(VB言語運用ADO銜接、操作SQLServer數據庫教程)文章只能為提供參考,不一定能成為您想要的結果。以下是VB言語運用ADO銜接、操作SQLServer數據庫教程正文


幾年前學過的VB簡直忘光了,這幾天溫習了下。VB銜接ADO數據庫並不是十分難。

銜接第一步(要細心看)

關於小白來講,這裡的教程最詳細,銜接ADO數據庫第一步,要添加什麼部件呢?全稱是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件。

在Microsoft ADO Data Control 6.0 (SP6) (OLEDB)部件裡有一個名叫:Adodc數據控件,要將它添加。在Adodc數據控件數據地位中找到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群中寫這東西時,讓我借用了,後來我發現有很多錯誤,y大神修正幾次後的還是有錯誤,干脆重寫了一遍,這就是後來的代碼。時間過來的很快,VB群也解散了。後來不知為何,如今很多的教程都用了這段代碼。

第二局部是AOD的代碼銜接,由於第二局部觸及到Recordset對象和Connection對象,自己學一下,完全可以自己編寫。

何為Recordset對象和Connection對象,Connection對象是與數據源的銜接,Recordset對象是操作數據。

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

VB用ADO銜接SQLServer數據庫

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

 Public Const CONNECT_LOOP_MAX = 10 '一次執行connect操作,可以訪問數據庫的次數

 Private IsConnect As Boolean '標志數據庫能否銜接

 Private Connect_Num As Integer '標志執行Connect()函數後訪問數據的次數

 Private cnn As ADDODB.Connection '銜接數據庫的Connect對象
 
 Private re As ADDODB.Recordset '保管後果集的Recordset對象

//銜接數據庫
 Private Sub Connect()
 '假如銜接標志為真,則前往。
 IF IsConnect = True Then 
   Exit Sub
 End If

 Set cnn = New ADODB.Connection '關鍵new用於創立新對象cnn
 
 cnn.ConnectionString = conn
 
 cnn.Open
 '判別銜接的形態
 If cnn.State <> adStateOpen Then
   MsgBox"數據庫銜接失敗"
   End
 End If

 '設置銜接標識,表示曾經銜接到數據庫
 IsConnect = True
End Sub


'斷開與數據庫的銜接
Private Sub DisConnect()
 Dim rc As Long

 If IsConnect = False Then
   Exit Sub
 End If
 '封閉銜接
 cnn.Close
 '釋放cnn
 Set cnn = Nothing
 IsConnect = False
End Sub

'運用Connect_Num控制數據銜接
Public Sub DB_Connect()
  Connect_Num = Connect_Num + 1
  Connect
End Sub

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

'強迫封閉api方式訪問俄的數據庫,計數器復位
Public Sub DBapi_Disconnect()
  Connect_Num = 0
  Disconnect
End Sub

'執行數據庫操作言語
'byval 就是按參數的值傳遞,再傳遞進程中,參數不會發作變化(也就是將參數值而不是將地址傳遞給進程的方式,這就使進程訪問發哦變量的正本,進程不可改動變量的值);
與之對應的是byref,指按參數的地址傳值,byref可以省略
Public Sub SQLExt(ByVal TmpSQLstmt As String )  

  Dim cmd As New ADODB.Command '創立Command對象cmd
  
  DB_Connect '銜接數據庫
  
  Set cmd.ActiveConnection = cnn '設置cmd的ActiveConnect屬性,指定與其關聯的數據庫銜接

  cmd.CommandText = TmpSQLstmt '設置要執行的命令文本

  'MsgBox TmpSQLstmt

  cmd.Execute '執行命令

  Set cmd = Nothing

  DB_DisConnect '斷開與數據庫的銜接

End Sub

'執行數據庫查詢語句
Public Function QueryExt(ByVal TmpSQLstmt As String ) As ADODB.Recordset
  
  Dim rst As New ADODB.Recordset '創立Rescordset對象rst

  DB_Connect '銜接數據庫

  Set rst.ActiveConnection = cnn '設置rst的ActiveConnection屬性,指定與其相關的數據庫的銜接

  rst.CursorType = adOpenDynamic '設置游標類型

  rst.LockType = adLockOptimistic '設置鎖定類型

  rst.Open TmpSQLstmt '翻開記載集

  Set QueryExt = rst '前往記載集

  End Function

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved