现有一个SQL Sever数据库,名称database,路径:E:\VB_Work\data\database,密码:***,其中要连接的表名称为:table1。用vb的ADO连接该数据库,并且记录指针指向表table1中,字段 build=Text1.text 的值的那条记录。建立好连接后,将指定记录的数据加载进DataGrid表格中。这段代码应该怎么写呢?

解决方案 »

  1.   

    '引用ADO(在菜单"工程"/"引用"下,把Microsoft ActiveX Data Objects 2.X Library钩上)
    Private Sub Command1_Click()
        On Error GoTo err
        Dim cn As New ADODB.Connection, rs As New ADODB.Recordset    cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=database;Data Source=服务器别名"    cn.Open
        rs.CursorLocation = adUseClient '设置客户端游标    
        rs.Open "SELECT * FROM table1 WHERE build= '"& Text1.text & "'", cn, 3, 2    Set DataGrid1.DataSource=rs   
        Exit Sub
    err:
        MsgBox err.Description
    End Sub
      

  2.   

    SQL数据库不需要知道库文件的物理路径,如果服务没启动的话,知道了也连不上的。
      

  3.   

    SQL数据库不需要知道库文件的物理路径,如果服务没启动的话,知道了也连不上的。
      

  4.   

    现有一个SQL Sever数据库,名称database,路径:E:\VB_Work\data\database,密码:***,其中要连接的表名称为:table1。
    //你的问题问错了SQL只有IP服务器,没有物理的database
      

  5.   

    请在引用中引用:“Micosoft Jet and Replication Object 2.6 Library”
    data source=" & App.Path & "\datebase"
      

  6.   

    谢谢大家的回复,我初接触SQL,所以菜的很,是不是像faysky2那样写代码就可以啊?Provider=SQLOLEDB.1 和 Provider=MSDASQL 有什么区别呢?下面的这种写法对吗?Conn.Connectstring = " Provider=MSDASQL; driver={SQLServer}; server=***; uid=sa; pwd=***; database =database;"
      

  7.   

    是的,把连接字符串改一下就能用了Conn.Connectstring = " Provider=MSDASQL; driver={SQLServer}; server=***; uid=sa; pwd=***; database =database;"
    ===================
    这种写法也是对的