PB增加一条记录时怎样保证主键的唯一?

bihu 2001-11-19 09:54:23
我的主键是id,类型char,设为autoincrease,在增加记录时,不对id赋值,但是有时候记录的id会自动增加,有时候就不行,错误信息:
Integrity constraint violation: primary key for table 'office' is not unique
那么我该怎么保证主键的唯一呢?
...全文
277 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bihu 2001-11-20
问题是字符串怎样转化为整型?
  • 打赏
  • 举报
回复
nanjQQ 2001-11-20
你可以在itemchanged事件中加以控制嘛
  • 打赏
  • 举报
回复
三杯倒 2001-11-20
不要相信什么autoincrease,还不如自己写代码。
  • 打赏
  • 举报
回复
hegum 2001-11-20
**字符串怎样转化为整型*
比如x=Integer("24")
但是你的数据库还是有问题啊?
  • 打赏
  • 举报
回复
killerdanny 2001-11-19
你用CHAR,还要自增。你还是自己写程序判断最大值,然后付值吧!
  • 打赏
  • 举报
回复
hegum 2001-11-19
*****我改了数据窗口后,导入时出错,可是出错那一行我还没开始修改呢 *****
修改数据窗口时要注意文件原来的格式及内容的位置,不然会出错的
  • 打赏
  • 举报
回复
iamxia 2001-11-19
要不然,增加一个INT字段,然后在程序中想想办法
  • 打赏
  • 举报
回复
bihu 2001-11-19
数据库能不能修改字段类型?
我改了数据窗口后,导入时出错,可是出错那一行我还没开始修改呢
  • 打赏
  • 举报
回复
hegum 2001-11-19
:-(,看来一开始你就不该用char
:-(,我用的ms Sql server2000,比adaptive server anywhere方便
**数据窗口怎么导出并修改呢?**
在library里选择数据窗口,再export... 数据窗口,然后用记事本改,再library里import!
  • 打赏
  • 举报
回复
bihu 2001-11-19
hegum说的我不会呀,alter table时不能修改字段类型呀,还有,数据窗口怎么导出并修改呢?好多窗口呢,我可不想每个都重做一遍,多谢了
  • 打赏
  • 举报
回复
bihu 2001-11-19
我这列很重要,用的是adaptive server anywhere
主要是用惯了ms的数据库,没想到sybase的antoincrease不管用
  • 打赏
  • 举报
回复
hegum 2001-11-19
同意BlackBone)
你可以在数据库里把id改为整数类型 ,再把你程序的数据窗口导出,把那里面的id char 改为id int,再导入程序。
  • 打赏
  • 举报
回复
zhanwei 2001-11-19
这取决于你使用的数据库;以:ms sql server 为例:
CREATE TABLE TEST(
TESTID INTEGER IDENTITY (1, 1) NOT NULL ,
TESENAME ...
)
建如上表,在数据窗口中不用对TESTID赋值;可以 autoincrease
而,用CHAR做autoincrease不常见!
另外,提醒你TESTID这种autoincrease的列最好不含实际意义!



  • 打赏
  • 举报
回复
bihu 2001-11-19
现在数据库已经建好了,不会要我重做吧?难道没有办法在程序中把char转化为int吗?
  • 打赏
  • 举报
回复
BlackBone 2001-11-19
不要用char,改用整数类型
  • 打赏
  • 举报
回复
相关推荐
发帖
PowerBuilder
加入

979

社区成员

PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
申请成为版主
帖子事件
创建了帖子
2001-11-19 09:54
社区公告
暂无公告