datastore.update()失败,考察SQLCA.SQLERRTEXT返回"select returned more than one row"???

chenyushen 2003-01-02 10:28:04
请注意:
此时datastore关联的表为空,而且update实际上是向表中添加一条纪录,答对必给分!!!
...全文
504 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
rock_csdn 2003-01-04
  • 打赏
  • 举报
回复
把datastore改用成显式的datawindow,然后重写dberror和sqlpreview几个事件,一般问题就不成问题了.
提倡将datastore做个自定义用户对象,以后继承使用.这样程序出毛病的时候调试方便点.
愉快的登山者 2003-01-03
  • 打赏
  • 举报
回复
检查你的SQL语句中的每一了字句,可以将每个字句单独执行,看一下结果,就能找到数据原因了。
dotnba 2003-01-03
  • 打赏
  • 举报
回复
select returned more than one row
比如:where colA = (select xx from ....)

若select xx from ....返回多个值出错
可是试试 select top 1 xx from ....
dotnba 2003-01-03
  • 打赏
  • 举报
回复
select returned more than one row
比如:where colA = (select xx from ....)

若select xx from ....返回多个值出错
可是试试 select top 1 xx from ....
dotnba 2003-01-03
  • 打赏
  • 举报
回复
select returned more than one row
比如:where colA = (select xx from ....)

若select xx from ....返回多个值出错
可是试试 select top 1 xx from ....
promark 2003-01-03
  • 打赏
  • 举报
回复
估计是两码事
1.可能是你在update()之前执行了select,结果sqlca.sqlErrText的值变成了"....."
2.在update()之后,不能通过sqlca得到出错消息。看看update()的帮助,可以知道,update()会触发dberror事件,如果你用datawindow,系统会出现提示框。但你用的是datastore,没有该事件,所以你只能通过update()的返回值是否为1来判断是否更新成功,但不能得到具体的出错信息
programbcb 2003-01-03
  • 打赏
  • 举报
回复
select语句有问题
试着把第一条记录改成datamodified!,其它的改为notmodified!试试
ice2water 2003-01-03
  • 打赏
  • 举报
回复
up
xiaozg118 2003-01-03
  • 打赏
  • 举报
回复
同意楼上的
从sqlerrtext可以看出
应该是你用了什么SELECT语句,并且查询出的结果不止一条!
ropriest 2003-01-03
  • 打赏
  • 举报
回复
你可能用了select语句,且where子句返回的值是多行!
databaser 2003-01-03
  • 打赏
  • 举报
回复
select returned more than one row"
bomber2001 2003-01-03
  • 打赏
  • 举报
回复
你是否用了什么select语句,看看语法
andyzq 2003-01-03
  • 打赏
  • 举报
回复
修改datastore对应的datawindow对象的update properties属性
china_0_1 2003-01-03
  • 打赏
  • 举报
回复
一个datastore是否关联多个表,如果是检查一下 datastore的创建语法可能有问题

611

社区成员

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

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