如何使用tquery组件(100分)

  • 主题发起人 主题发起人 huhuhu_hu
  • 开始时间 开始时间
H

huhuhu_hu

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使用tquery组件
 
你的问题真是没头没脑!

使用TQuery构件可以查询下列数据库:
一是Paradox或dBASE,这是通过BDE内置的Local SQL实现的。Local SQL是SQL-92标准的
一个子集,支持大部分DML和DDL。
二是Local InterBase Server,这是通过InterBase引擎实现的。
三是远程数据库,如Oracle、Sybase、MS-SQL Server、InFormix、DB2和InterBase,
不过,必须安装了相应的SQL Links驱动程序。不同的服务器对标准SQL都有不同的限制和
扩展,要查询远程数据库之前,务必要查阅它的有关文档。

使用TQuery构件的一般步骤
第一步是把一个TQuery构件放到数据模块上,设置它的DatabaseName属性指定要访问的数
据库。对于Paradox和dBASE来说,DatabaseName属性可以设为BDE别名如DBEMOS、
DefaultDD、IBLOCAL等,也可以是自定义的别名或者表所在的路径。对于SQL表来说,
DatabaseName属性只能设为BDE别名。如果应用程序使用TDatabase构件来连接数据库,
DatabaseName属性也可以设为应用程序专用的别名。
第二步是设置SQL属性指定要执行的SQL语句,有必要的话还可以设置Params属性为SQL语句
设置参数。
第三步是把TDataSource构件放到数据模块上,设置它的DataSet属性指定TQuery构件。
再把TDBGrid构件放到窗体上,设置它的DataSource属性指定TDataSource构件。
第四步是执行SQL语句。要执行SQL语句有两种方式,一是在设计期把Active属性设为
True,程序启动时将自动执行SQL语句。另一种方式是在运行期调用Open或ExecSQL执
行SQL语句。如果希望返回查询结果,调用Open,如果不需要返回查询结果,调用
ExecSQL。在调用Open或ExecSQL之前,最好先调用Prepare通知服务器作好准备。
执行SQL语句所返回的查询结果实际上是数据集中满足特定条件的记录所组成的子集,
数据库栅格中只显示符合特定条件的记录。
 
没法设置dbgrid的datasouce属性
应该怎么设置?
 
怎么会不能设置?只要同一窗体或是相关窗体中有下拉列表中就会出现
 
to huhuhu_hu: 自己去翻一翻有关delphi数据库的书,tquery是讲的最详细的一部分

至于设置dbgrid的datasource属性,只要dbgrid和对应的datasource在同一个窗体下,
其datasource属性的下拉框中就会出现datasource的名称,选之
如果dbgrid和对应的datasource不在同一个窗体下,如dbgrid在窗体a中,datasource在
窗体b中,就要先在a里use窗体b,然后再选之
 
我把 tquery,tdatasource,tdbgrid 都放在窗体中 然后 tquery 的 databasename属性设为
dbdemos, 把 tdatasource 的 dataset 属性设置为 query1, 把 tdbgrid 的 datasource
属性设置为 datasource1. tquery 的 sql 属性设置为:
query1.close;
query1.sql.clear;
query1.sql.add('select * from customer');
if query1.prepared=false then query1.prepare;
query1.open;
但运行起来总是错误,不知该怎么办,请赐教并举例。

 
不会吧把你的错误信息贴出来。
 
出什么错,将错误信息贴出来吧。可能是你的BDE没有设好,DATABASE没有连接。
 
多人接受答案了。
 
后退
顶部