中国程序员联盟 正在重新改版中ing 不便之处还请见谅 改版后将内容涉及java delphi .net php
 
  首页 | 数据库开发 | 网络通讯 | 多线程 | 多媒体开发 | 图像处理 | 程序人生 | 系统函数 | 控件开发 | Web服务
 
  当前位置:笨鱼delphi技术网>数据库开发>数据处理>文章内容

delphi 使用TQuery 的误区

来源:站内 关于:bill 发布时间:2007-06-21   [收藏] [推荐]

q:手册中关于怎样使用tquery 的误导

a:用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, 相反, 为了减少不必要的浪费, 应该是保持deactive。 所以代码应该如下:

query1.parambyname('id').asstring := '001';

query1.open;

string := query1.fieldbyname('id').asstring;

query1.close;

您在使用query的时候要注意根据实际情况选择适当的方法, 不要被手册误导。


[浏览: 次]   
上一篇:delphi Datamodule的应用方式   下一篇:delphi 快速表更新
[收藏] [推荐] [返回顶部] [打印本页] [关闭窗口]  
    评论加载中…
google adsense热点文章
·delphi Delphi 中使用原生 ADO 控制数
·delphi Base64编码/解码及ZLib压缩/解
·delphi Delphi_有关ADO专题
·delphi Delphi下的ADO
·delphi 数据库事务处理
·delphi DataSet数据复制
·delphi Oracle9i 如何用sysdba连接数据
·delphi 多线程执行数据库查询
·delphi 开发数据库程序经验三则
·delphi 输入图片到Blob字段
·delphi 将纯文本导入数据库
·delphi 如何给日期时间字段赋空值
     delphi技术网 | firefox 下载 | Avant Browser下载 | dedecms 技术网 | drupal 爱好者 | php 技术网
  Copyright@www.delphichm.com,2006-2009.All Rights Reserved.
 
程序员联盟 | delphi Java .net|QQ:707102932