数据集更新的问题(在线等待)

ttma008 2003-10-28 10:14:55
代码如下:
sRs.Open "select * from tab_main", sCon, adOpenStatic, adLockOptimistic
Do While Not sRs.EOF
'为什么不能这样更新
sRs.Fields(0).Value = 函数(sRs.Fields(0).Value)
sRs.MoveNext
Loop
错误提示是:键列信息不足或不正确,更新影响到多行
请问这是怎么回事?如何解决它?
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_ping 2003-10-28
  • 打赏
  • 举报
回复
sRs.Open "select * from tab_main", sCon, adOpenStatic, adLockOptimistic
if not sRs.eof then
sRs.movefirst
Do While Not sRs.EOF
sRs.Fields(0).Value = Cstr(sRs.Fields(0).Value)
sRs.update
sRs.MoveNext
Loop
songq 2003-10-28
  • 打赏
  • 举报
回复
这里最好将列名都列出来,不要用星号
例如:sRs.Open "select 第一列,第二列 from tab_main", sCon, adOpenStatic, adLockOptimistic
rocllllll 2003-10-28
  • 打赏
  • 举报
回复
没有主键
ttma008 2003-10-28
  • 打赏
  • 举报
回复
顺便说明一下,那个函数是一个返回string类型的函数
ttma008 2003-10-28
  • 打赏
  • 举报
回复
楼上说的我还是不太明白,那我具体怎样解决呢?
luzufu 2003-10-28
  • 打赏
  • 举报
回复
你选择的是所有的记录,sRs.Fields(0).Value = 函数(sRs.Fields(0).Value)不是很明确更新的记录,而且没有sRs.update
AresChen 2003-10-28
  • 打赏
  • 举报
回复
不要使用这种方式去更新,直接用T-SQL里的Update命令去更新不是更好嘛?另外,在你程序中除了效率问题以外,最大毛病就是没有使用Trascation。

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧