sybase 数据库相关

kt563 2008-03-18 12:15:43
在一个sql执行过程中,检测到
sqlca.sqlcode=-1
sqlca.sqldbcode=0

结果查出来是数据表中数据重复导致(主键没),那我想问这样的一个问题:
sqlcode,sqldbcode 的区别和共同点是什么?

我臆测下,感觉sqlcode检测到了执行结果是错误的,而sqldbcode=0应该是代表语句执行成功,一般情况下可以commit数据库.
为什么会发生这种情况?
希望和大家一起讨论下.
...全文
91 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kt563 2008-03-26
  • 打赏
  • 举报
回复
我用sqlerrtext看过了,是因为数据项重复导致...
难道是sqldbcode只检测到语句执行情况,本身无错误就返回0,只检测语句级;而sqlcode检测到数据执行结果,如果数据返回不正常,就算语句正确也会返回-1.
或者是因为别的原因,sqldbcode得到的只是初始值0?
各位大虾帮忙解释下,谢谢啦!
iihero 2008-03-22
  • 打赏
  • 举报
回复
sqldbcode可以返回很多值,比2706等正整数,每个值都有自己的含义。为0,则表示正常。
而sqlcode,如果出错了,永远是-1。没有更详细的诊断信息。
但是你应该可以得到sqlca.errtext之类的信息。

2,596

社区成员

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

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