为何我用ADOTABLE连接的数据库中多次使用DELETE后会报错?? (100分)

  • 主题发起人 主题发起人 乐子
  • 开始时间 开始时间

乐子

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如上
我在连续多次使用ADOTABLE.delete时,系统总会报错,
内容为:键列信息不足或不正确,更新影响到过多的行。

还有就是用ADO创建数据库与表我老是创建不了,各位可以详细点说说吗?

请问各位如何能解决这问题?
谢谢
 
你是用的什么数据库,如果是ACCESS在删除之后还是将数据保存或是刷新一次。
 
你的数据是不是都已删空了
你用table1.empty 来判断一下
 
我用的是ACCESS库,现在有上千条记录,不可能是空库。
 
我记得,要对数据库进行刷新
加一条:Table1.Post
 
请将完整的提示信息放上来,大家才好判断.
 
错误提示是“键值信息不足”后面还有可能影响到较多的行,已经POST过了,但一POST就~~~~~
 
是不是用的D5,如果是的ADO升级了没?

 
[red]"操作影响了过多的行"[/red]
肯定是你的打开的Dataset中缺少关键字字段,
导致ado更新数据库影响多行。因为ado无法唯一定位你要删除的记录。
 
数据库关系!!!!!
 
1:你的table一定要有主键

2:在ADOTABLE.delete过程中,不能有其他ADODATASET对此表进行Insert,update等操作,
如果有,每次delete之前请Requery

 
字段的默认值的问题!!!特别是数值型字段,不要设默认值
 
jyd119兄:
请问如何设关键字字段??
谢谢~~~
 
1、你的表是否设定了关键字?
2、你是不是用了静态字段(就是在设计期通过Field Editor添加字段的)?
如果是的话,要把关键字字段添加进来;
3、检查你的DataSet的UpdateMode属性是怎么设置的?
上面只是我的一点猜测,希望对你有所启发:D
 
1、看看DELPHI的补丁全了没有
2、有时候有一些看似正确的代码是错误的
例如:
删除表中所有记录
with table1 do
begin
first;
while not eof do
begin
delete;
next; //这个next就是错的,根本就不应该用
end;
end;
 
谢谢大家关照,我的问题解决了。
 
后退
顶部