读书人

PB6.5中数据窗口update的奇怪有关问题

发布时间: 2012-02-27 10:00:22 作者: rapoo

PB6.5中数据窗口update的奇怪问题
今天碰到了一个奇怪的问题:
环境:PB6.5 + Sybase11.9.2.5
Sybase数据库中有一张表中有主键,在PB程序中使用数据窗口往这个表中新增记录,新增的方式是现在PB的数据窗口中insert记录,然后使用数据窗口的update方法提交。

现在的问题是:数据窗口中要新增的一条记录在表中已经存在了(主键重复),这样update的返回值是-1,这是没有问题的,但是sqlca.sqlcode的值为0,sqlca.sqlerrtext中也为空,这样就无法知道错误信息是什么。

请大家指点一二。


[解决办法]
sqlcode已经被dw处理了,所以你再查它的值也没有用了,好像是这样的.

[解决办法]
你可以在dw的dberror事件中处理这个错误.return 1时不再显示系统自带的提示.
[解决办法]
这个问题以前还真没注意,应该不会是0啊
是不是你使用的事物不是sqlca啊?
[解决办法]
自定义窗口的实例变量:
long il_sqlcode
string is_dberror

在该DW 的dberror 事件里写:
il_sqlcode = sqldbcode
is_dberror = sqlerrtext

return 1

再在dw.update 的地方写:
sqlca.autocommit = false
if dw.update() <> 1 then
rollback using sqlca;
messagebox('错误',is_dberror)
else
commit using sqlca;
end if

读书人网 >PB

热点推荐