線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:827
推到 Plurk!
推到 Facebook!

手册中关于怎样使用TQuery 的误导

 
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-26 18:57:15 IP:61.155.xxx.xxx 未訂閱
用Delphi开发数据库时经常会用到TQuery手册中有很多关于它的例子,大致结构如下: Query1.Close; Query1.ParamByName(’ID’).AsString := ’001’; Query1.Open; String := Query1.FieldByName(’ID’).AsString; 很多用户根据这段例子开发时会遇到速度慢,资源耗用多,甚至引发资源不足的异常。 这是为什么呢? 其实是手册的例子有些片面,误导了大家。 Delphi有一个重要的特性是DB aware,把DBGrid与Query连接在一起,Query的结果集就会自动的显示在DBGrid中。 为了保证DBGrid总显示查询结果,需要Query总保持Active。 当修改Query的查询条件时,先关闭Query,修改完查询条件以后再打开它。 这就是上面代码的含义。 ********************************************* 问题是,当Query不和DB aware组件连接时,比如在计算字段的事件中取其它表的内容,应该怎样写代码。 这时候[不]需要让Query保持Active 相反,为了减少不必要的浪费,应该是保持Active。 所以代码应该如下: Query1.ParamByName(’ID’).AsString := ’001’; Query1.Open; String := Query1.FieldByName(’ID’).AsString; Query1.Close; 您在使用Query的时候要注意根据实际情况选择适当的方法,不要被手册误导。 风花雪月 e梦情缘
------
风花雪月 e梦情缘
系統時間:2024-11-23 12:12:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!