VB连接SQL数据库的方法 VB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源,如下例: 1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6两个组件,这是在连接数据前所必做的工作。 2、接下来定义ADO的连接对象,如下所示: Set conn = New ADODB.Connection Set rs = New ADODB.Recordset 第一种方法采用的是无源的数据库连接方法 conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc" conn.ConnectionTimeout = 30 conn.Open rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Combo1.Text) & "' And 密码='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText If rs.EOF = True And rs.BOF Then m = MsgBox("请重新登录", vbExclamation) Text1.Text = "" Text1.SetFocus Else Form1.Hide End If rs.Close 这是第二种方法连接数据库的方法,这一种方法是采用有源的方法与数据库连接的方法,代码如下所示: Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.ConnectionString = "DSN=login;uid=sa;pwd=;" conn.ConnectionTimeout = 30 conn.Open rs.Open "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText Dim i As String For t = 0 To Val(rs.RecordCount) - 1 i = Trim(rs.Fields("用户名").Value) rs.MoveNext Combo1.AddItem i Next t rs.Close 连接数据库的方法很多很多,只要各位去勇敢的偿试一下,就可以感觉数据库的方法并不是很难,本人以前也很想做这方法的工作,只是学识不深,未能完成胸中大志,如今对这些方法的多少有一些了解,特意为那些初学者以供学习之用。 下面是连接数据库具体代码: 程序代码 Public conn As New ADODB.Connection Public rs As New ADODB.Recordset Public addFlag As Boolean Public Function OpenCn() As Boolean Dim mag As String On Error GoTo strerrmag Set conn = New ADODB.Connection conn.ConnectionTimeout = 25 conn.Provider = "sqloledb" conn.Properties("data source").Value = "127.0.0.1" ''服务器的名字 conn.Properties("initial catalog").Value = "chart" ''库名 conn.Properties("integrated security").Value = "SSPI" ''登陆类型 conn.Open OpenCn = True addFlag = True Exit Function strerrmag: mag = "Data can''t connect" Call MsgBox(mag, vbOKCancel, "Error:Data connect") addFlag = False End End Function Public Sub clocn() On Error Resume Next If conn.State <> adStateClosed Then conn.Close Set conn = Nothing End Sub Public Function openrs(ByVal strsql As String) As Boolean ''连接数据库记录集 Dim mag As String Dim rpy As Boolean On Error GoTo strerrmag Set rs = New ADODB.Recordset If addFlag = False Then rpy = True With rs .ActiveConnection = conn .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open strsql End With addFlag = True openrs = True Exit Function strerrmag: mag = "data not connect" Call MsgBox(mag, vbOKCancel, "error:connect") openrs = False End End Function Public Sub clors() On Error Resume Next If rs.State <> adStateClosed Then rs.Clone Set rs = Nothing End Sub (责任编辑:admin) |