例如
Adodc1.LockType=adLockBatchOptimistic
Adodc1.RecordSource = "SELECT * FROM T1,T2 WHERE T1.ID=T2.ID"
Adodc1.Recordset.Delete
Adodc1.Recordset.UpdateBatch总是报错:“缺少更新或刷新的键列信息。”
应该怎样解决?
Adodc1.LockType=adLockBatchOptimistic
Adodc1.RecordSource = "SELECT * FROM T1,T2 WHERE T1.ID=T2.ID"
Adodc1.Recordset.Delete
Adodc1.Recordset.UpdateBatch总是报错:“缺少更新或刷新的键列信息。”
应该怎样解决?
解决方案 »
- 运行时出现错误‘找不到可安装的ISAM’
- 运行时错误430!类不支持自动化或不支持期望的接口
- 有没有什么办法,判断一条Insert语句是否已经正确执行?
- 如何让窗口启动时,其它窗体都不能用?
- 关于上传数据的问题。(类似于游戏纪录发布到网上的过程)
- 如何将*.bmp,*.tif等图象的文件转换成PDF格式的文件(用代码实现).
- vb中有取当前路径的函数吗?
- 如何开始、停止win2000 中的一个服务(service)
- 一个老掉牙的问题
- 如何在程序中使用控件中定义的数据类型
- 问题:想打开用户选择的任意文件(*.doc,*.jpg....),并且直到打开的程序关闭后在继续执行。请高手指教。
- 关于VB打包
if adodc1.recordset.EOF then
adodc1.recordset.movelast
else
adodc1.movenext
end if
改为adodc1.recordset.movenext
Adodc1.Recordset.UpdateBatch
这行报的
select * from T1 inner join T2 on T1.ID=T2.ID
~~ ~~
这里要看你决定哪个表是主表,也就是你要执行删除动作的表。
Adodc1.RecordSource = "SELECT * FROM T1,T2 WHERE T1.ID=T2.ID"
......dim myID
dim cn as new adodb.connectionmyID = adodc1.recordset.Fields("T1.ID")
cn.open adodc1.connectionstring
cn.execute "delete from T1 where ID=" & myID
cn.execute "delete from T2 where ID=" & myID
cn.close
set cn = nothing