很奇怪的问题

yoisyois 2003-07-10 10:00:46
ADOQuery := TADOQuery.Create(Application);
try
with ADOQuery do begin
ConnectionString := 'XXXXXXXXXX';
if Active then Close;
SQL.Clear;
try
SQL.Add('select O_Name from Operator');//<------程序运行到这里非常慢,类似连接超时的情况;(照理说,不应该那么慢呀!)
Open;//<------也是的,这个我理解,可为什么上面那条语句也那么慢呢?
except
{........}
end;
Close;
end;
finally
ADOQuery.Free;
end;

这些代码是放在Project文件里面的,在创建任何窗体之前,Application.Initialize;之后。
(我就纳了闷了,同是ADOQuery,为啥在这里SQL.Add的时候就那么慢呢?)

恳请高人明示!感激不尽。
...全文
36 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoisyois 2003-07-10
  • 打赏
  • 举报
回复
现在就是对SQL.Add(...)非常慢的情况很困惑

为什么呢?
walterwl 2003-07-10
  • 打赏
  • 举报
回复
哇,壮观啊,星星大聚会啊.....
学习..
lxl 2003-07-10
  • 打赏
  • 举报
回复
这个现象有点象数据库找不到,或者是内存没有正确释放,但是你的在FREE又没有问题
先试试看是不是联接的问题吧
ADOQuery := TADOQuery.Create(Application);
try
with ADOQuery do begin
if Active then Close;
SQL.Clear;
try
SQL.Add('select O_Name from Operator');//<------程序运行到这里非常慢,类似连接超时的情况;(照理说,不应该那么慢呀!)
//把CONNECTIONSTRING移动到这里看一看呢,还慢吗?
ConnectionString := 'XXXXXXXXXX';
Open;//<------也是的,这个我理解,可为什么上面那条语句也那么慢呢?
except
{........}
end;
Close;
end;
finally
ADOQuery.Free;
end;
firetoucher 2003-07-10
  • 打赏
  • 举报
回复
用其他的ado控件如adotable等慢不慢?
things 2003-07-10
  • 打赏
  • 举报
回复
怎么可能!

UP
firetoucher 2003-07-10
  • 打赏
  • 举报
回复
?????
1 试试adoquery1.prepared:=true;
2 试试
s:=tstrings.create();
s.add('select O_Name from Operator');
adoqurey1.sql:=s;
zdcnow 2003-07-10
  • 打赏
  • 举报
回复
问题应该不在sql.add语句本身,找找其他原因,比如连接......

还真没遇到过.up
yoisyois 2003-07-10
  • 打赏
  • 举报
回复
to linzhisong(無聊)
我已经试过了,还是很慢!

我已经动态创建ADOConnection来判断是否连接上数据库了。
只出现一次超时的情况,也是理想的情况。

现在就是对SQL.Add(...)非常慢的情况很困惑。
yoisyois 2003-07-10
  • 打赏
  • 举报
回复
to myling(阿德)
语句是一句一句执行的,把open注释掉还是很慢。



“山上”的朋友帮帮忙啊!
fansnaf 2003-07-10
  • 打赏
  • 举报
回复
具体什么情况?
ConnectionString := 'XXXXXXXXXX';换成连接connection试试(已经设置好的),
可能是这里地问题。
linzhisong 2003-07-10
  • 打赏
  • 举报
回复
用这个看看
SQL.text:='select O_Name from Operator';
myling 2003-07-10
  • 打赏
  • 举报
回复
SQL.Add('select O_Name from Operator');

Open;//将着句注释掉呢?还是很慢吗?

mrfanghansheng 2003-07-10
  • 打赏
  • 举报
回复
没遇到过....
mrfanghansheng 2003-07-10
  • 打赏
  • 举报
回复
没遇到过
yoisyois 2003-07-10
  • 打赏
  • 举报
回复
是的,很慢
D6 + Win2K sp3
sysu 2003-07-10
  • 打赏
  • 举报
回复
SQL.Add 很慢?不会吧?
yoisyois 2003-07-10
  • 打赏
  • 举报
回复
谢谢各位了!
tccb 2003-07-10
  • 打赏
  • 举报
回复
问题分解,先用个adoconnect连接,看看是否有问题,
再执行adoquery,
可以用application.showmessage调试。
lllygang 2003-07-10
  • 打赏
  • 举报
回复
delphi---database----explorer----object----odbc administrator----tracing
看看你是不是按下了 start tracing now
XXSingle 2003-07-10
  • 打赏
  • 举报
回复
是 ConnectionString := 'XXXXXXXXXX'的问题吧,连接数据库有点困难,才....
加载更多回复(1)

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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