首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

datagrid如何无法及时更新数据表显示呢

2012-01-22 
datagrid怎么无法及时更新数据表显示呢?在一个窗体上通过不同的按钮来查询同一个access数据库的不同的表并

datagrid怎么无法及时更新数据表显示呢?
在一个窗体上通过不同的按钮   来查询同一个access数据库的不同的表
并显示在另一个窗体的datagrid1控件内。

可是问题是   第一次点击某按钮load出来的窗体上的datagrid1内数据显示正确,就是第一张表的,可是当接着点击第二个按钮时,datagrid1内的显示数据没有变成第二个表的,还是第一个表的内容。当再点击第三个按钮时,datagrid1显示的数据则变为第二张表...

搞了半天也搞不明白   下面是代码   没办法了   郁闷

Public   Sub   Form_Load()
...

DataGrid1.AllowUpdate   =   True      

conn.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=mdb1.mdb;Persist   Security   Info=False "

Set   rs   =   New   ADODB.Recordset
        rs.CursorType   =   adOpenDynamic  
        rs.LockType   =   adLockOptimistic

        conn.CursorLocation   =   adUseClient                                
       
Select   Case   sheet
              Case   1
                          rs.Open   "SELECT   *   FROM   first   ",   conn,   rs.CursorType,   rs.LockType

              Case   2
                          rs.Open   "SELECT   *   FROM   second   ",   conn,   rs.CursorType,   rs.LockType
End   Select


DataGrid1.ClearFields
DataGrid1.Refresh
Set   DataGrid1.DataSource   =   rs      
rs.Update
DataGrid1.Refresh
DataGrid1.ReBind

End   If
...
End   Sub



[解决办法]
强烈建立不要再使用这个控件了,这个控件玩死过我好几回,我怕了。
[解决办法]
建议不要用adodc
给你个例子
你试试吧,好用的
记得要引用ado
你只需要在工程/引用 miscrosoft Activex data objects 2.x library 就可以了
Dim Db As Connection
Dim WithEvents adoPrimaryRS As Recordset '数据库连接对象
Private Sub Command1_Click()


strsql= "select 字段 from 表 where 你的条件 "
Set Db = New Connection
Db.CursorLocation = adUseClient
'下面的连接数据字符串你要修改一下
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\计划管理系统.mdb;Persist Security Info=False "
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open strsql, Db, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = adoPrimaryRS
end sub


热点排行