如何通过程序,连接本地或服务器上的DSN数据源???

解决方案 »

  1.   

    VB通过ADO连接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
    连接数据库的方法很多很多,只要各位去勇敢的偿试一下,就可以感觉数据库的方法并不是很难,本人以前也很想做这方法的工作,只是学识不深,未能完成胸中大志,如今对这些方法的多少有一些了解,特意为那些初学者以供学习之用。