update时出现下面错误:
实时错误.....操作必须使用一个可更新的查询。 SqlStr="select * from "&TabName
set rst=ExecuteSql(SqlStr,MsgText) '返回记录集
......
......
rst.AbsolutePosition = intCount '定位记录集指针
For i = FfmNo To ColNum - 1
rst.Fields(i).Value = TxtModify(i).Text
Next i
rst.Update ’------------>错误行
rst.Requery
frmDataShow.dbfList.Refresh 即使用sql搜索到一个满足条件的记录集,还是不能完成update
实时错误.....操作必须使用一个可更新的查询。 SqlStr="select * from "&TabName
set rst=ExecuteSql(SqlStr,MsgText) '返回记录集
......
......
rst.AbsolutePosition = intCount '定位记录集指针
For i = FfmNo To ColNum - 1
rst.Fields(i).Value = TxtModify(i).Text
Next i
rst.Update ’------------>错误行
rst.Requery
frmDataShow.dbfList.Refresh 即使用sql搜索到一个满足条件的记录集,还是不能完成update
解决方案 »
- 连接局域网SQL数据库(VB制作的程序)
- 如何让MSHFlexGrid 选中的单元格变颜色
- bug? 还是我错了?
- 求助!关于数据库程序的问题!!!
- 急,对已经存在的bat文件内容进行修改?怎么进去进行修改啊?
- 在写ocx控件时用到标准模块,如何在标准模块中调用控件中的过程。
- 写文件的问题
- 餐饮吧台部分,用什么GRID实现的显示所有餐桌?每个单元格中可以显示图片?
- 用vb怎样实现sql数据导出为excel数据,我只会从dao中导为excel
- 只能够PING如:202.168.0.25 这中形式的IP,却不能够PING象网址之类如:www.csdn.net...
- 关于MSHFlexGrid数据绑定的问题
- 请问如何让一个应用程序运行在托盘(任务栏右下角) 谢谢
SqlStr="select * from "&TabName
set rst=ExecuteSql(SqlStr,MsgText) '返回记录集
......
......
rst.move intCount '----- >定位记录集指针
for i = FfmNo To ColNum - 1
SqlStr = "update " & TabName & " set " & frmDataShow.rst.Fields(i).Name
_
& "='" & TxtModify(i).Text & "' where " & frmDataShow.rst.Fields(i)
.Name _
&"='" & frmDataShow.dbfList.TextMatrix(intCount, i + 1) & "'"
Set rst = ExecuteSQL(SqlStr, MsgText)
Next i
frmDataShow.dbfList.Refresh
改成上面这样后,虽然没有错误了,但是记录集没有被更改。
其中的ExecuteSQL函数是在标准模块中这样定义的:
......
cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False
;Data Sources=dBASE Files;Initial Catalog=" & PathStr
cnn.Open "Driver={Microsoft dBASE Driver (*.dbf)};" & _
"DriverID=277;" & "Dbq=" & PathStr
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then '对已存在
'的表的编辑操作
Debug.Print "test1"
Debug.Print SQL
cnn.Execute SQL
Debug.Print "test2"
Msgstring = sTokens(0) & " query successful"
cnn.Close '--------->小心!
Else '对表的打开
rst.CursorLocation = adUseClient
rst.Open SQL, cnn, adOpenDynamic, adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
End If
......
debug.print显示的信息: test1
update sample set STATE_PROV='test' where STATE_PROV=''
test1
update sample set ZIP_PST_CD='' where ZIP_PST_CD=''
test1
update sample set COUNTRY='Cyprus' where COUNTRY='Cyprus'
test1
update sample set PHONE='357-6-876708' where PHONE='357-6-876708'
test1
update sample set FRST_CNTCT='1990-04-12' where FRST_CNTCT='1990-04-12'
ormat.' where DESCRIPT='3rd side is in CAV format.'
test1
update sample set STUDIO='MGM/UA' where STUDIO='MGM/UA'
test1
update sample set KIDS='True' where KIDS='True'
好象是没有执行cnn.execute SQL,也没有错误消息。是什么道理呢?
这样数据一样可以添加进去
MsgBox Err.Description, vbExclamation, "表名 - update"