电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> delphi技术>>Delphi 与SQL编程(一)(2):

Delphi 与SQL编程(一)(2)

来源:远方网络 | 2005-12-31 9:36:04 | (有1999人读过)

2.1 TQuery部件的使用 

TQuery部件是一个数据集部件,它在Delphi部件选择板上的数据访问页(Data Access)上,它与TTable部件具有很多共同的特性,我们在第十五章“数据访问部件的应用及编程”中较详细地进行了介绍。 TQuery 部件在 SQL 编程中占居了十分重要的地位。 它实现了Delphi对SQL语言的支持,在Delphi开发的数据库应用中,SQL语句是通过TQuery部件传递到要访问的数据库系统的数据库引擎中,由数据库引擎具体执行SQL语句,以实现对数据的操作,而不是传递给Delphi中的BDE,由BDE实施具体的SQL动作。

我们已经知道了TTable部件在访问数据库时已经具备很强大的功能。TTable部件通过Delphi内置的BDE可以实现对各种数据库系统的访问,然而TQuery部件提供了一些 TTable部件不具备的功能,它们是:

●多表联接查询

●复杂的嵌套查询(Select中包含着Select子查询)

●明确需要按SQL语言进行的操作 

因为TTabel部件不能使用SQL语言,而在TQuery部件可以使用SQL语言,因而TQuery部件也就具备了强大的关系查询能力。当然这也使数据库应用程序本身变得更复杂了。

在Delphi应用程序中编写和使用的SQL语句有两种:即静态SQL语句、动态SQL 语句。静态SQL语句是在程序设计阶段,将SQL命令文本作为TQuery部件的SQL属性值设置。而动态SQL语句编程是SQL语句中包含一系列的参数,在程序运行过程中各参数值是可变的,即可以动态地给SQL语句中的参数赋值。

静态方式是把SQL命令文作为TQuery部件的SQL属性值进行设置,这样,当执行应用程序时,Delphi便执行TQuery部件SQL属性中设置的SQL命令。如果是SQL中的查询命令,把TQuery部件通过TDataSource部件与数据控制部件相连,查询的结果将会显示在与 TQuery部件相连接的数据浏览部件中。动态SQL语句是指SQL语句中包含一些参数变量,在程序中可以为这些参数赋值,在程序运行过程中,各个参数值是变化的。TQuery部件的SQL 属性中的SQL语句的编写也有两种方法,一种方法是在程序设置阶段便将相应的SQL语句写入到TQuery的SQL属性中,另一种方法是在Delphi开发的应用程序将SQL语句,包含在Pascal代码单元中。

在SQL编程中使用TQuery部件的具体方法步骤如下:

①为TQuery部件设置DatabaseName属性,它可以是用BDE建立的数据库的别名,或桌面数据库系统中的目录名或数据库服务器中的文件名,如果在应用中使用了TDatabase 部件,那么TQuery部件的DatabaseName属性可以是TDatabase部件中定义的一个数据库别名。详细情况请参看“TDatabase部件的使用”;

②为TQuery部件设置SQL属性,TQuery部件的SQL属性值就是应用程序要执行的SQL 命令文本,设置SQL属性有两种方法:

● 在程序设计过程中,我们可以通过对象浏览器(Object Inspector)编辑SQL属性在Object Inspector中选择SQL属性,这样会打开String List Editor窗口,在其中我们便可以编写SQL命令,我还可以打开Visual Query Builder来编写SQL命令 (只有Delphi的客户/服务器版本才具有这一工具)。

● 将SQL命令包含在Pascal代码单元中

在程序运行过程中,首先调用TQuery部件的Close方法关闭当前的TQuery部件,然后调用Clear方法清除SQL属性,并说明新的SQL命令文本,然后调用Add方法,将新的SQL命令文本加入到SQL属性中。

③通过调用TQuery部件的Open方法或ExecSQl方法执行 SQL 命令。 Open 方法只执行Select命令,ExecSQL方法还可以执行其它的SQL命令。Open方法和ExecSQL 方法的区别我们在后面的章节里会进一步地加以讨论的。

如果使用动态SQL语句,首先调用prepare方法,给动态SQL语句中的参数赋值,然后再调用Open方法或ExecSQL方法。调用propare 方法并不是必须的,但是对于要多次执行TQuery部件中SQL属性中的动态SQL语句,调用Prepare可以大大提高TQuery部件执行SQL语句的性能。 

2.2 在TQuery部件中编写简单的SQL查询命令 

在这一节里我们将学习如何使用TQuery部件编写简单的SQL查询命令,并在Delphi 应用程序中实现SQL查询。

例如,如果我们想查询出表Customer.DB中客户的编号和公司名称,我们按下列步骤来实现:

①在应用窗体中放置一个TQuery部件、一个TDataSource部件一个TDataGrid部件,并将它们连接起来 

②设置窗体TQuery 部件Query1的DatabaseName属性值为DBDEMOS

③双击Object Inspector窗口中Query1的SQL 属性, Delphi 将显示 String List Editor窗口。

④在图17.3中的窗口中输入SQL语句:

Select CustNo,Company From Custormer;

⑤单击OK按钮,关闭String List Editor窗口。

⑥设置Query的Open属性为True。

delphi技术热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号