可气!什么叫"键列信息不足或不正确,更新影响到更多的行"(100分)

  • 主题发起人 主题发起人 wwwwww
  • 开始时间 开始时间
W

wwwwww

Unregistered / Unconfirmed
GUEST, unregistred user!
使用ADO删除记录时出现上述问题,
我已经安装了DELPHI升级1和ADO升级2,应该不是他们的BUG.
到底什么意思?怎样解决?
 
那是因为没有定义主键,就可能有重复的记录都符合条件。
你可以加一列自动编号的主键,如果不想显示再隐藏它
 
我根本就没想用主键,太麻烦.
我是在DBGRID中删除当前记录的,我发觉有时对,有时错,
似乎删除最后一条后就错了,
我感觉是不是删除一条后当前记录指针有问题?
 
不用主键?!活该!没治!
是因为有两条完全相同的记录!!!
 
把你能保证不重复的列设成key,否则的话只有加自动编号字段。
而且是不想加也得加
 
一定要用主键,才能唯一确定一个纪录。
如果没有主键,有些数据库有一些特性可以利用,
比如用oracle,你可以 select my_tbl.*, rowid from my_tbl
rowid就可以唯一确定一行(不严格的说,因为要除去cluster表)

interbase也有类似功能, 其他数据库我就不清楚了。
 
你怕麻烦不要主键只怕会带来更多的麻烦,还是乖乖地加上主键吧
 
我敢肯定是主键在作怪!加上主键一定可以!
 
谢谢各位,主键已经加上了,解决了,偷懒真不行.
随便加上一个ID字段,INT 型,自动增1,OK.
不过删除中间的会出现漏洞,而且继续按最大的号递增,
这个问题,以前似乎有人提过,
不知能否理顺编号,并且将来递增时也按理顺后的次序.
不然看着别扭.

我要分赃了,谁再能解决这个问题,多分点.
 
没法,数据库才不会保证中间没有漏洞呢,而且肯定是继续按最大的号递增,它只保证唯一性就可以了
除非你自己定义一个字段然后用触发器来定义其生成规则
 
感谢各位,分赃了
 
后退
顶部