定义一个recordset后 ,能读取数据库表里的内容,但如果使用delete方法就报当前记录集不支持更新
解决方案 »
- DataGrid控件显示数据的问题
- VB程序将excel导入到sql数据问题!!!
- 用什么方法可以判断一个用二进制异或方法加密的excel/word文件,是否已加密了呢?
- 一个SQL语句
- 也就是要结束由定时器Timer产生的定时调用的一个find 过程,我已经用上了
- 我是大连的编程菜鸟,My QQ:9227066 My Tel:0411-2113485
- 大家好,今天有一个问题请教,在中国,程序员是乞丐吗?虽然我是菜鸟
- 关于VB.NET
- 在vb中如何实现如IE的ToolBar?
- ListView图标排列问题
- 如何设置、修改oracle数据库表中字段的缺省值,在线等待!
- OpenSchema的用处是什么呀?
这样打开记录集就可以了
rs.Open strSQl, cn, adOpenDynamic, adLockOptimistic
Dim cnn1 As ADODB.Connection
Dim strCnn As String ' Open a connection.
Set cnn1 = New ADODB.Connection
strCnn = "Provider=MSDAORA.1;Password=AA;User ID=AA;Data Source=server"
cnn1.Open strCnn
' Open temp table.
Set rst = New ADODB.Recordset
rst.CursorType = adOpenDynamic
rst.LockType = adLockOptimistic
rst.Open "temp", cnn1, , , adCmdTable
'删除用:cnn1.execute "delete from talbename where ..."
'增加用:cnn1.execute "insert into tablename(...) values(...)"
rst.LockType = adLockOptimistic
rst.Open "temp", cnn1, , , adCmdTable
更改为
rst.CursorType = adOpenDynamic
rst.LockType = adLockOptimistic
rst.Open "temp", cnn1
你的语句等于在设定了rst.CursorType = adOpenDynamic和rst.LockType = adLockOptimistic后又把这两个值设回了默认值。
rst.CursorType的默认值是adOpenForwardOnly (默认值)打开仅向前类型游标。 rst.LockType 的默认值是adLockReadOnly (默认值)只读 — 不能改变数据。
所以不允许更改 !
'修改用: cnn1.execute "update tablename set ..."
'删除用:cnn1.execute "delete from talbename where ..."
'增加用:cnn1.execute "insert into tablename(...) values(...)"是可以的 其他的改动都没有用
tang800710(平凡的世界) 说的是对的再次表示感谢呢