高手,很简单的代码,但两样写法有什么区别?在这样写在程序执行效率上有什么区别?

FSU 2003-10-18 04:08:22
ADOQuery1.Active :=False;
ADOQuery1.sql.clear;
ADOQuery1.sql.text :='select * from tabel';
ADOQuery1.active :=True;

----------------------------------------
ADOQuery1.close;
ADOQuery1.sql.add('select * from table');
ADOQuery1.open;
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
FSU 2003-10-18
  • 打赏
  • 举报
回复
结贴!
popmailzjw 2003-10-18
  • 打赏
  • 举报
回复
两个是一样的,当你把它OPEN后,它的active 会被置为true

但是当你的语句是update ,delete 之类的没有返回数据集的时,你不能用open,也不能用active:=true,会报错,不过也不会影响运行
gold_future 2003-10-18
  • 打赏
  • 举报
回复
windows 2000 对每个 api 函数提供了两个版本一 XXXXW 一个XXXXA
但内部实现时XXXXA还是调用XXXXW的。
XXXXW 与XXXXA 的效率是一样的。
以上问题与此类似。
huojiehai 2003-10-18
  • 打赏
  • 举报
回复
ADOQuery1.open;
调用的是
ADOQuery1.Active := true
rwdx 2003-10-18
  • 打赏
  • 举报
回复
ADOQuery1.Active :=False;
ADOQuery1.sql.text :='select * from tabel';
ADOQuery1.active :=True;

这种效率稍微高一点点
Northwindrocker 2003-10-18
  • 打赏
  • 举报
回复
应该是没什么区别,但是第2种是常用的写法,我个人的感觉是第2中效率高一些写法也简洁的多!
hiflower 2003-10-18
  • 打赏
  • 举报
回复
你写反了,要这样:
ADOQuery1.Active :=False;
ADOQuery1.sql.text :='select * from tabel';
ADOQuery1.active :=True;

----------------------------------------
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from table');
ADOQuery1.open;

两种写法的效果完全一样

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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