Dim db As Connection
Set db = New Connection
db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;"
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select Author from Authors", db, adOpenStatic, adLockOptimistic
Set unitGrid.DataSource = adoPrimaryRS
这样用VB的数据向导做出来的,可以显示出来数据,但是把这里面的一些内容改成下面的就不行了,数据库路径完全正确,并且已经打开数据库,数据库里面有数据,但就是不显示数据在DataGrid里面,为什么?(没有错误提示,运行完全通过.)
Dim db As Connection
Set db = New Connection
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + app.path +"\fin.mdb";"
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select user_name from user_info", db, adOpenStatic, adLockOptimistic
Set unitGrid.DataSource = adoPrimaryRS

解决方案 »

  1.   

    Public strconn As String
    Public conn As New ADODB.ConnectionPublic rs1 As New ADODB.RecordsetPrivate Sub Form_Load()
       strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
       conn.Open strconn
       conn.CursorLocation = adUseClient   If rs1.State = 1 Then rs1.Close
       rs1.Open "select * from test", conn, adOpenKeyset, 3
       Set DataGrid1.DataSource = rs1
       
    End Sub
      

  2.   

    1.首先你要知道你數據庫是97還是2000﹐2000是一定要PROVIDER=Microsoft.Jet.OLEDB.4.0的。2﹐這種情況我想你在連接完成以后在   If rs1.State = 1 Then rs1.Close
       rs1.Open "select * from test", conn, adOpenKeyset, 3
    這里msgbox rs1.recordcount一下。看你的頭大。代碼在上面咯Good Luck
      

  3.   

    Public strconn As String
    Public conn As New ADODB.ConnectionPublic rs1 As New ADODB.RecordsetPrivate Sub Form_Load()
       strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
       conn.Open strconn
       conn.CursorLocation = adUseClient'要使用客户端游标   If rs1.State = 1 Then rs1.Close
       rs1.Open "select * from test", conn, adOpenKeyset, 3
       Set DataGrid1.DataSource = rs1
       datagrid1.refresh
       
    End Sub
      

  4.   

    conn.CursorLocation  =  adUseClient'要使用客户端游标 
    加上这一句就好了.有可能ACCESS97不需要,而2000需要客户端游标吧.