1.Datagrid的DataSource属性可否可以设为一个RecordSet对象,从而自动显示Recordset中的内容? 俺尝试了一下,结果老是提示不能设为行记录集2.Datagrid控件可以自动显示ADODC数据控件连接的数据库的内容,但是对Datagrid控件中单元格内容的更改会自动更新数据库,俺想添加一个"保存"按钮,只有当用户点击保存的时候才会更新数据库,这应该怎么办?

解决方案 »

  1.   

    1、set datagrid1.datasource=rs
    2、set datagrid1.update=false
      

  2.   

    这是你的问题1
    Option ExplicitPrivate Rs As New ADODB.Recordset
    Private Conn As New ADODB.ConnectionPrivate Sub Form_Load()
     Dim strConn As String
     
     ' 连接数据库的字符串
     ' 连接带密码的数据库,直接在连接符后面加上Jet OLEDB:DataBase Password='您的密码'
     ' 连接Access97数据库需要使用Jet.OLEDB.3.5,Access2K和以上数据库使用Jet.OLEDB.4.0
     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
     
     ' 使用客户端数据游标
     Conn.CursorLocation = adUseClient
     ' 打开Access的连接
     Conn.Open strConn
     
     ' 如果RecordSet的状态不是关闭状态,则关闭Recordset
     If Rs.State <> adStateClosed Then Rs.Close
     
     ' Recordser打开表People
     Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic
     
     ' 报告出 一共多少笔数据,测试是否存在数据
     ' MsgBox Rs.RecordCount
     
     ' 绑定进DataGrid
     Set DataGrid1.DataSource = Rs
     
    End Sub
      

  3.   

    第2个问题很简单的
     ' Recordser打开表People
     Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic
    把这句话改成 adOpenKeyset, adLockOptimistic换成批次打开,具体是什么参数我忘了,你查下,因为我现在在外面,没MSDN
      

  4.   

    Rs.Open "Select * from People", Conn, adOpenDynamic, adLockBatchOptimistic
    应该是这钟打开方式,你最好查下MSDN,我不保证的
      

  5.   

    1、set datagrid1.datasource=记录集
    2、把datagrid1.update写到“保存”的CLICK 事件中啊
      

  6.   


     ' 使用客户端数据游标
     Conn.CursorLocation = adUseClient第一个问题最关键在游标