平时可以用Set DataGrid1.DataSource =Adodc1绑定显示数据,
但我现在想不用控件而引用adodb库,也得到了RecordSet,
但Set DataGrid1.DataSource =rst却显示不出数据。而如果表格控件是MSHFlexGrid1的话,Set MSHFlexGrid1.DataSource =rst这样的
语句就能显示数据了,为什么呢。vb的msdn中这样描述DataSource属性的,datasource一个限定为数据源的对象索引,包括 ADO Recordset 对象。

解决方案 »

  1.   

    是不是你的recordset没有取出值来啊
    应该可以显示的
      

  2.   

    Set DataGrid1.DataSource =rst这句肯定是没问题的,关键看你前面的代码,还有再看看有没有记录。
      

  3.   

    Public conn As ADODB.Connection
    Public rst As ADODB.Recordset
    --------------------------------------------
    Set conn = New ADODB.Connection
          conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                    "Data Source= " & _
                                     App.Path & "\db.mdb;" & _
                                    "Persist Security Info=False"
          conn.CursorLocation = adUseClient ' 我以前在这里没有加这句,就没有数据
          
          conn.Open
    ---------------------------------------------------------------------------
    还有一种可能就是你的表没主键
    ------------------------------------------------------
    试试。
      

  4.   

    Public conn As ADODB.Connection
    Public rst As ADODB.Recordset
    --------------------------------------------
    Set conn = New ADODB.Connection
          conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                    "Data Source= " & _
                                     App.Path & "\db.mdb;" & _
                                    "Persist Security Info=False"
          conn.CursorLocation = adUseClient ' 我以前在这里没有加这句,就没有数据
          
          conn.Open
    ---------------------------------------------------------------------------
    还有一种可能就是你的表没主键
    ------------------------------------------------------
    试试。
      

  5.   

    Public conn As ADODB.Connection
    Public rst As ADODB.Recordset
    --------------------------------------------
    Set conn = New ADODB.Connection
          conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                    "Data Source= " & _
                                     App.Path & "\db.mdb;" & _
                                    "Persist Security Info=False"
          conn.CursorLocation = adUseClient ' 我以前在这里没有加这句,就没有数据
          
          conn.Open
    ---------------------------------------------------------------------------
    还有一种可能就是你的表没主键
    ------------------------------------------------------
    试试。
      

  6.   

    Provider=Microsoft.Jet.OLEDB.4.0
    要设置  conn.CursorLocation = adUseClient 3.5.1就不用
      

  7.   

    呵呵,CSDN里真是有高手啊,非常感谢各位朋友。
    确实是加上conn.CursorLocation = adUseClient 这句就有数据了。再次感谢!!
    马上结贴。