我想删除一个表里id小于4000的记录删除,大约有100条,不能执行,这是为什么?当符合条件少于10条时非常快。请高手帮忙!(100分)

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

wanglong

Unregistered / Unconfirmed
GUEST, unregistred user!
我想删除一个表里id小于4000的记录删除,大约有100条,不能执行,这是为什么?当符合条件少于10条时非常快。
procedure TForm1.Button1Click(Sender: TObject);
var
sql:string;
begin
sql:='delete from name where id<4000';
query1.close;
query1.SQL.clear;
query1.sql.Add(sql);
query1.ExecSQL;
end;
 
反正代码我看不出问题[^]
 
你的id类型是数值型的吗?还是字符串类型的[:D]
 
整数型的。
 
呵呵,怪事年年有。好好检查你的代码吧![:D]
 
没问题啊! 是不是比较慢,等一等嘛
 
时间长了,它说lock timeout sqlserver连接超时
 
语法没错误啊,
100条左右速度应该很快的。
try
query.execSQL;
except
捕获错误语句。
end;
 
删除这么多的数据,我觉得用存储过程比较快点,不然这样慢很多啊!
 
存储过程我还不会用,教我两招吧。
 
你稍微等等,是不是时间的问题,你等不及了就认为是有问题,反正代码看不出什么问题
 
代码没问题
 
你的数据库用的是什么,如果是ORACLE,可能是的回退段社的太小
我想SQL SERVER 也应该有相应的东西
 
有错误!时间长了,它说lock timeout sqlserver连接超时。
 
你的数据库是什么格式的。
.db 还是别的什么?[:)]
 
数据库是sql
 
ADOConnection1 的 COMMANDTIMEOUT 设大一点试试看.
 
我用的是bde
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
878
import
I
后退
顶部