菜鸟级问题:SQLSTATE = 23000

01boy 2002-05-04 03:22:31
SQLSTATE = 23000
[Sybase][ODBC Driver]Integrity constraint violation: primary key for table 'jybgd_fy' is not unique

No changes made to database.

INSERT INTO "jybgd_fy" ( "fy_bm", "jybz", "content", "bs" ) VALUES ( ?, ?, ?, ? )
如何屏蔽上面的东东,转为自定义的对话框?谢谢!!
...全文
1681 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
01boy 2002-05-04
  • 打赏
  • 举报
回复
thank you very much!!!!!
my baby!!!!
thank you!!!
qlzgdzfl 2002-05-04
  • 打赏
  • 举报
回复
试试

不错的
行的话别忘了给分,不过别光谢俺,谢谢所有的朋友吧
qlzgdzfl 2002-05-04
  • 打赏
  • 举报
回复
if pos(sqlerrtext,'primary key for')<>0 then
messagebox("错误提示!","记录重复了,请重新输入!",stopsign!)
this.setfocus()
this.scrolltorow(row)
return 1
elseif pos(sqlerrtext,'not running')<>0 then
messagebox("错误提示!","数据库连接不上,请与管理员联系",stopsign!)
return 1
elseif pos(sqlerrtext,"Integrity constraint violation: column")<>0 then
string ziduan
ziduan=mid(sqlerrtext,80,pos(sqlerrtext,"in table") - 82)
messagebox("错误提示!","[ "+this.describe(ziduan+"_t.text")+" ] 不能为空",stopsign!)
this.setfocus()
this.scrolltorow(row)
this.setcolumn(ziduan)
return 1
end if
01boy 2002-05-04
  • 打赏
  • 举报
回复
我这个主键是由另外的一个表的主键提供的,所以我在插入数据时用setitem,
我试过lmby(鹿门布衣)的方法,但sqldbcode在这种情况下没效的,故不能弹出自定义的话框!请再继续解释一下,谢谢!
spawnwind 2002-05-04
  • 打赏
  • 举报
回复
不是写着那吗?主键不唯一,不能更新
lmby 2002-05-04
  • 打赏
  • 举报
回复
你在插入前做数据合法性校验就好了,判断主键的唯一性啊。
要屏蔽的话在dberror里return 1

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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