Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db\salary.mdb;"
rs.Open "select * from Manger where LoginName='" & txtLoginName & "'", cnSet DataGrid1.DataSource = rs      '该行错误。

解决方案 »

  1.   

    rs.Open "select * from Manger where LoginName='" & txtLoginName & "'", cn,adopenkeyset,adlockreadonly
    这样试试
      

  2.   

    Dim cn As New adodb.Connection
    Dim rs As New adodb.Recordset
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db\salary.mdb;"
    rs.Open "select * from Manger where LoginName='" & txtLoginName & "'", cn
    '看看rs的状态
    debug.print rs.state=adstateopen
    Set DataGrid1.DataSource = rs      '该行错误。
      

  3.   

    如果rs没有打开,则可以试试
    rs.open YourSQLStatements,cn,1,3
      

  4.   

    Dim cn As New adodb.Connection
    Dim rs As New adodb.Recordset
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db\salary.mdb;"
    rs.CursorLocation = adUseClient
    rs.Open "select * from Manger where LoginName='" & txtLoginName & "'", cn, adOpenDynamic, adLockBatchOptimisticSet DataGrid1.DataSource = rs
      

  5.   

    楼上给的代码解决问题的地方就在于这一行
    rs.CursorLocation = adUseClient
    呵呵,当初我也出过这样的问题
      

  6.   

    你没有用客户端游标。Dim cn As New adodb.Connection
    Dim rs As New adodb.Recordset
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db\salary.mdb;"rs.CursorLocation = adUseClient'注意这一句,要使用客户端游标rs.Open "select * from Manger where LoginName='" & txtLoginName & "'", cn, adOpenDynamic, adLockBatchOptimisticSet DataGrid1.DataSource = rs
    datagrid1.refresh
      

  7.   

    可以写一个数据绑定类   MSDN上就有这个例子,也可以使用向导生成