删除和更改源数据,recordset.requery之后没反应?
窗体里有一个datagrid和一个按钮。
datagrid绑定到一个recordset,数据源是一个两张表的查询,按钮用来删除recordset的最后一行。
可能是由于recordset有两张表关联,所以用recordset的delete会出错:提示"缺少更新或刷新的键列信息"。
没办法,用connetion.execute"SQL"来删除。
问题来了:
按第一下删除按钮以后,删除已经执行,数据源里的行也确实删除掉了,但datagrid里还是不更新(例如原有5行,现在还是显示5行)。
(删除语句以后,紧跟着recordset.requery)。
点第二下以后,倒数第二条也被删掉了,这下datagrid更新了,但显示4行。也就是第一下应该出现的结果。
百思不得其解。高手解救!!!!
*********************************************
为了试出这个问题究竟是咋回事,我在ACCESS里直接更改某一行记录,然后在窗体里的测试按钮加入recordset.requery,也会出现同样的问题。第一下没反应,第二下才反应过来。
*********************************************
回过头说那个"缺少更新或刷新的键列信息"。
查询里有要删除记录的ID列啊,在ACCESS里直接删除也可以删的掉。出这个错又是咋回事呢??
[解决办法]
另外,我在表里如果更改了2行记录,那么再回窗体点requery,那么第一下就会有反应。
[解决办法]
已解决。。
汗死,原来是用的adodc那个控件。
自己定义一个recordset,就正常了。
[解决办法]
null