我第一次用VB、对ODBC也不太熟  
我想查看SQLserver  里自建的一个表的内容,在master里的TATBLE1表 有name、ago两厢。1、先窗体上放了ado和DataGride
2、设ConnectionString->ODBC->新建-〉用户数剧源-〉SQLserver-〉名称、服务器
(这都正确)-〉n个下一步(默认是master)->在connectString中选中
3.Recordsourse->2adcmdTable->Table1
4.DataGrid
           DataSourse   ADODC1
           DataMember 空格
           AllowUpadate  true
           AllowDelete   true
           AllowAddnew   true
接着树上说、右建DataGride“检索字段”,应该是空件对应数据库字段,但没反应。请大虾们指点

解决方案 »

  1.   

    ADO 对象:Dim Cnn As New ADODB.Connection
    Dim rst As New ADODB.RecordsetPrivate Sub List1_Click()
       Dim sql As String
       'DataGrid1.Refresh
       If Cnn.State = adStateOpen Then Cnn.Close
       Cnn.Open "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=" & App.Path & "\Data\Feedb.mdb"
       sql = "SELECT * FROM ZHK WHERE ZCDM='" & List1.Text & "' order by cbm"
       With rst
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
        .Open sql, Cnn, , , adCmdText
       End With
       Set DataGrid1.DataSource = rst
       DataGrid1.Caption = "(共" & rst.RecordCount & "条记录)"
    End SubADO 控件:Private Sub List2_Click()
          Adodc1.ConnectionString = "DBQ=" & App.Path & "\Data\Feedb.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=281;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;PWD=;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"   Adodc1.RecordSource = "select * from zhk where zcdm='" & List2.Text & "' order by cbm"
       Adodc1.Refresh
       'Set DataGrid2.DataSource = Adodc1
       DataGrid2.Caption = "(共" & Adodc1.Recordset.RecordCount & "条记录)"
    End Sub
      

  2.   

    使用ADO对象做,不用ADO控件。
    你首先要在VB菜单中:
    “工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
    注:2.X为版本号,如果你机子上有高版本的就用高版本的,如:2.5或2.6的。
    示例:private sub command1_click()
    dim adoCN as new adodb.connection'连接对象
    dim rs as new adodb.recordset'记录集对象
    dim strcon as string,sqlstr as string
    strcon = "Provider=SQLOLEDB;Driver={SQL Server};Server=服务器名;Uid=用户名;Pwd=密码;Database=数据库名"'连接字符串
    adoCN.Open strcon'打开连接(数据库)
    rs.CursorLocation = adUseClient'使用客户端游标
    sqlstr = "SELECT * FROM XXXX"
    rs.Open strSQL, strcon,3,3
    if rs.bof and rs.eof then
       msgbox "没有查询到记录!!!"
       exit sub
    else
      set datagird1.datasource=rs'将记录集显示在datagrid控件中
      datagrid1.refresh
    end if
    end sub