sqlca.SQLErrText为何无法得到错误信息?

tomorrower 2010-12-18 10:37:11
我用datawindows保存数据,保存出错,直接跳出来错误信息:

直接是数据窗口保存的时候跳出的,

系统信息

ora-01401: 插入的值对于列过大

然而在保存按钮中的代码:
IF dw_1.Update( ) > 0 THEN
COMMIT;
MessageBox("提示","员工信息保存成功")
ELSE
ls_err = sqlca.SQLErrText
ROLLBACK;
MessageBox("告警","员工信息保存出错,原因为:"+ls_err)
END IF

变量ls_err = sqlca.SQLErrText无法得到值

请问,如何屏蔽数据窗口的错误信息?而直接使用messagebox给出错误信息呢?
...全文
631 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
绝版灬思念 2011-10-13
  • 打赏
  • 举报
回复
我来说一句吧
rollback 之后
sqlerrtext就变成空了……
应该在发生错误之后,rollback之前引用。
lenya 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tomorrower 的回复:]
引用 3 楼 thelittleprince 的回复:
用一楼地方法,你定义一个全局或者实例变量,在dberror里把错误信息赋值给这个变量,然后把变量放到你的messagebox里不就完了


但是数据窗口的错误提示框还是出现了,我希望不要出现
[/Quote]
搞定没有啊?你是不继承了其他数据窗口类,它的dberror事件有代码啊?建议跟踪代码执行,你会找到问题所在的.
TheLittlePrince 2010-12-19
  • 打赏
  • 举报
回复
用一楼地方法,你定义一个全局或者实例变量,在dberror里把错误信息赋值给这个变量,然后把变量放到你的messagebox里不就完了
tomorrower 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lenlenya 的回复:]
这个应该是由dberror产生的,在该事件中敲入return 1;.
[/Quote]

已经试过了,无效,依旧跳出错误信息框
tomorrower 2010-12-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 thelittleprince 的回复:]
用一楼地方法,你定义一个全局或者实例变量,在dberror里把错误信息赋值给这个变量,然后把变量放到你的messagebox里不就完了
[/Quote]

但是数据窗口的错误提示框还是出现了,我希望不要出现
lenya 2010-12-18
  • 打赏
  • 举报
回复
这个应该是由dberror产生的,在该事件中敲入return 1;.

609

社区成员

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

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