一行简单的代码
if dw_2.update() = -1 then
//ls_err= SQLCA.SQLErrText
rollback using sqlca;
if sqldb = 2627 then
messagebox("","主键重复,保存失败!" + sqlerr)
else
messagebox("", "保存失败,错误码:"+ string(sqldb) )
end if
return
else
commit using sqlca;
messagebox("", "保存成功!")
return
end if
前台界面如下:

当前台输入了两条卡号(主键)相同的信息并保存时, 会出现主键重复的错误。如图:

但是这个datawindows error非常讨厌,会令用户非常迷茫,想去掉这个系统默认的提示窗口,方法如下:
在

在PowerBuilder中,当datawindow的update()方法遇到主键重复错误时,可以通过在dberror事件中处理来避免显示datawindow error对话框。通过检查SQLCA.SQLErrText和SQLErrCode,可以截取错误信息并自定义提示。当SQLErrCode为2627时,表示主键重复,可以显示特定错误消息。在dberror事件中添加return 1可以阻止系统默认错误提示,但此方法在调试模式下可能无效。
最低0.47元/天 解锁文章
1007





