access数据库中有6列,分别是number,station1,station2,station3,station4,station5.想读取其中number为11的一整行到MSHFlexGrid控件中并显示。怎么做,MSHFlexGrid的行列数要不要自己改。我的数据库和数据库表为wuhanbus。
数据库和程序在同一目录下
很新手,帮忙说详细点,这个完全不知道。急用,非常谢谢

解决方案 »

  1.   

    rs.open "select * from 表名 where [number]=11",conn,adopenkeyset,adlockreadonly
    set mshflexgrid1.datasource=rs
    rs.close
      

  2.   

    MSHFlexGrid的行列数不需要你自己设置,可参考如下代码:
    Dim 数据库连接 As ADODB.Connection
    Dim 记录集 As ADODB.RecordsetSet 数据库连接 = New ADODB.Connection
    数据库连接.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" _
            & app.path & “\wuhanbus.mdb” & ";Jet OLEDB:Database Password=" & 数据库密码
    数据库连接.CursorLocation = adUseClient
    数据库连接.Open
    Set 记录集 = New ADODB.Recordset
    记录集.Open "select * from wuhanbus where number = ‘11’", 数据库连接, adOpenDynamic, adLockOptimisticset MSHFlexGrid.DataSource = 记录集
      

  3.   


    Dim rs2 As New ADODB.Recordset
    Public DBCn As New ADODB.Connection
    Public rs1 As String在Form_Load()           '连接数据库
    rs1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\wuhanbus.mdb;Persist Security Info=False"
    mycon1.Open rs1Private Sub Command1_Click()   
    rs2.Open "select * from wuhanbus Where [number]=709", mycon1, adOpenKeyset, adLockReadOnly
    Set MSHFlexGrid1.DataSource = rs2
    rs2.Close
    这样吗,但是我还是没有度出来
      

  4.   

    Dim rs2 As New ADODB.Recordset
    Public mycon1 As New ADODB.Connection Set mycon1 = New ADODB.Connection
    mycon1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\wuhanbus.mdb"
    'rs1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\wuhanbus.mdb;Persist Security Info=False"
    mycon1.CursorLocation = adUseClient
    mycon1.Open
    Set rs2 = New ADODB.Recordset
    rs2.Open "select * from wuhanbus Where [number] = 709", mycon1, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.DataSource = rs2
    但是MSHFlexGrid1还是没有显示数据出来