第九章 查询数据库
这一章介绍如何用TQuery构件查询数据库,如何通过SQL语句检索、插入、更新和删除数据。SQL是符合工业标准的关系数据库语言,既可以用于远程的基于服务器的数据库,如Sybase、Oracle、InterBase和Microsoft SQL Server,也可以用于本地数据库如Paradox、dBASE、FoxPro和Access以及符合ODBC的数据库。
9.1 有效地使用查询
要有效地使用查询,必须熟悉标准的SQL语言以及所使用的服务器对SQL-92的限制和扩展,同时还要熟悉BDE。
9.1.1 查询桌面数据库
作为一个桌面开发者,应对表格、记录和字段的概念有所了解,又能熟练地使用TTable构件访问数据集中的每一条记录和每一个字段。
还可以使用TTable的范围和过滤功能在数据集中选择一部分记录,前者用于选择一块连续的记录,这些记录的值在一个特定的范围内; 后者用于选择非连续的记录,这些记录符合特定的条件。
所谓查询,非常类似于过滤,不同的是,查询要用到TQuery构件和SQL属性,有时候可能还要用到Params属性。从功能上讲,查询要比过滤复杂和强大些,这主要体现在:
.可以同时查询几个表格
.可以让查询结果中只包含部分字段,而过滤将返回所有字段。
查询也可以带参数,此时称为参数化查询。所谓参数,类似于变量,它的实际的值由BDE在执行SQL语句之前赋值。参数化查询的好处是,不需要修改SQL语句,只要修改参数的值,就能执行不同的查询功能。
大部分情况下,使用TQuery构件是为了在数据集中选择一部分字段和记录,但也可以使用SQL语句实现更新、插入和删除记录的功能,这是与TTable构件的一个区别。
9.1.2 查询远程数据库
要查询远程数据库,必须熟悉SQL语句以及服务器对标准SQL的限制和扩展。
TQuery构件的SQL属性用于指定要执行的SQL语句, Params属性用于提供参数。TQuery构件的功能并不只限于SQL语句和参数,它还是BDE与应用程序之间的接口。
应用程序可以通过TQuery构件的属性和方法来操纵SQL语句和参数。TQuery构件最终还是通过SQL Links与远程服务器进行通讯的,远程服务器把查询结果返回给BDE,再由BDE返回给应用程序。
9.2 可以查询哪些数据库
使用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都有不同的限制和扩展,要查询远程数据库之前,务必要查阅它的有关文档。
Delphi 4还支持异构查询,也就是说,可以同时查询几个不同类型的数据库。
9.3 使用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构
delphi -TQuery控件学习 转载 www.knowsky.com
最新推荐文章于 2023-04-06 09:48:08 发布
![](https://img-home.csdnimg.cn/images/20240611030827.png)