第亻2章sαL数据库程序设计 本章要点: 回 Query组件的属性 区 Query组件的方法 区SQL语言基础 回 Query组件利用SQL语言的增、删、改、查操作 区综合实例:学生信息管理程序
本章要点: Query组件的属性 Query组件的方法 SQL语言基础 Query组件利用SQL语言的增、删、改、查操作 综合实例:学生信息管理程序 第12章 SQL数据库程序设计
121 Query组件的属性和方法 SQL语言,又称为结构化查询语言,它在数据库程序设 计中是十分重要的。任何一门支持数据库程序设计的语言必 定提供对SQL语言的支持, Delphi7.0也不例外。在 Delphi 7.0中提供了很多支持SQL语言操作的组件, Query组件就是 其中之一。 Query组件是BDE数据集组件之一,在 Delphi7.0 组件选择板上BDE选项卡上,与 Table组件具有很多共同的 特性。第11章已经对 Table组件的使用较详细地进行了介绍 Query组件在SQL编程中占据十分重要的地位,实现了 Delphi7.0对SQL语言的支持。在 Delphi7.0开发的数据库应 用中,SQL语句是通过 Query部件传递到要访问的数据库系 统的数据库引擎中,由数据库引擎具体执行SQL语句,以实 现对数据的操作。而不是传递给Deph7.0中的BDE,由 BDE实施具体的SQL动作。本章内容重点讲解如何用 Query 组件米进S0i言的作/mn/ se Depht
12.1 Query组件的属性和方法 SQL语言,又称为结构化查询语言,它在数据库程序设 计中是十分重要的。任何一门支持数据库程序设计的语言必 定提供对SQL语言的支持,Delphi 7.0也不例外。在Delphi 7.0中提供了很多支持SQL语言操作的组件,Query组件就是 其中之一。Query组件是BDE数据集组件之一,在Delphi 7.0 组件选择板上BDE选项卡上,与Table组件具有很多共同的 特性。第11章已经对Table 组件的使用较详细地进行了介绍。 Query 组件在 SQL 编程中占据十分重要的地位,实现了 Delphi 7.0对SQL语言的支持。在Delphi 7.0开发的数据库应 用中,SQL语句是通过Query部件传递到要访问的数据库系 统的数据库引擎中,由数据库引擎具体执行SQL语句,以实 现对数据的操作。而不是传递给Delphi 7.0中的BDE,由 BDE实施具体的SQL动作。本章内容重点讲解如何用Query 组件来进行SQL语言的操作
1211 Query组件的常用属性(1) 1. DataBase name属性 跟 Table组件一样, Query组件也是通过 Data BaseName属性来链接数据 库的。可以是某个数据库别名也可以是某个数据表的路径。详细方法可以参 照Tabe组件的用法。 2.SQL属性 αuery组件是通过SQL属性对数据集进行操作,而不是通过指定一个 TableName属性的值直接指向一个表。SQL是一个字符串对象,可以给该属 性设置SQL语句,从而让Quey组件使用SQL语句操纵数据库。例如,在 SQL属性中输入了合法的 Select查询语句,然后可以将 Query组件的 Active 属性设置为True或者调用open方法就可以打开数据集。SQL属性还提供了 设置SQL语句的各种方法,如Add、 Clear等方法分别用来添加和清除SQL语 句,在程序中运用十分广泛 3. Filter属性 该属性是用来过滤记录的,就是按照某个字段的具体值进行过滤记录 它有点类似于査询,也称为筛选记录。具体格式如下: Query1. Filter:='字段名=字段值 或者可以直接在对象浏览器中找到 Filter属性,并输入“性别='男'”,注意不 Inprise Dephi
12.1.1 Query组件的常用属性(1) 1. DataBaseName属性 跟Table组件一样,Query组件也是通过DataBaseName属性来链接数据 库的。可以是某个数据库别名也可以是某个数据表的路径。详细方法可以参 照Table组件的用法。 2. SQL属性 Query组件是通过SQL属性对数据集进行操作,而不是通过指定一个 TableName属性的值直接指向一个表。SQL是一个字符串对象,可以给该属 性设置SQL语句,从而让Query组件使用SQL语句操纵数据库。例如,在 SQL属性中输入了合法的Select查询语句,然后可以将Query组件的Active 属性设置为True或者调用Open方法就可以打开数据集。SQL属性还提供了 设置SQL语句的各种方法,如Add、Clear等方法分别用来添加和清除SQL语 句,在程序中运用十分广泛。 3. Filter属性 该属性是用来过滤记录的,就是按照某个字段的具体值进行过滤记录。 它有点类似于查询,也称为筛选记录。具体格式如下: Query1.Filter := '字段名=字段值' 或者可以直接在对象浏览器中找到Filter属性,并输入“性别= '男' ”,注意不
1211 Query组件的常用属性(2) 带双引号,但过滤字段值“男”字必须用单引号括起来。但在代码中, 要用两个连续的单引号表示一个单引号。 另外,要让 Filter属性设置的过滤条件有效,则必须设置另外一个属性 Filtered。只有当 Filtered属性值为True时, Filter属性设置才有效。 其实,在 Table:组件中也包含了 Filter和 Filtered属性。所以, Table组件和 Query组件的很多属性都是相同的,而且用法也一样,如 Active、Feds 等,可以参考Tabe组件中的相关用法 121.2 Query组件的常用方法 1.Open方法 用于打开或激活 Query数据集。一般只执行 Select查询语句。 2 ExecSQL方法 执行 Query组件中的SQL语句,不仅可以执行 Select查询语句, 而且可以执行其他的SQL命令,如 I Insert、 Update、 Delete等SQL 命令。关于Open方法和 EXeCSQL方法的区别本书将在后面的章节 里进一步地加以讨论。 3. Close方法 关闭数据集 Inprise Dephi
12.1.1 Query组件的常用属性(2) 带双引号,但过滤字段值“男”字必须用单引号括起来。但在代码中, 要用两个连续的单引号表示一个单引号。 另外,要让Filter属性设置的过滤条件有效,则必须设置另外一个属性 Filtered。只有当Filtered属性值为True时,Filter属性设置才有效。 其实,在Table组件中也包含了Filter和Filtered属性。所以,Table组件和 Query组件的很多属性都是相同的,而且用法也一样,如Active、Fields 等,可以参考Table组件中的相关用法。 12.1.2 Query组件的常用方法 1. Open方法 用于打开或激活Query数据集。一般只执行Select查询语句。 2. ExecSQL方法 执行Query组件中的SQL语句,不仅可以执行Select查询语句, 而且可以执行其他的SQL命令,如Insert、Update、Delete等SQL 命令。关于Open方法和ExecSQL方法的区别本书将在后面的章节 里进一步地加以讨论。 3. Close方法 关闭数据集
1211 Query组件的常用属性(3) 4.SQL属性的两个基本方法 (1)Ad方法 给 Query组件的SQL属性添加SQL命令语句,以供 Query组件执行。Add 是SQL属性中的一个方法。如下列语句: Query 1. SQL Add('select* from student) Query1. SQL Add( order by学号’);/在前一句SQL语句的基础上追加 SQL语句 这里也可以把以上两句语句合成一句,如下所示。这两种方法是等效的。 Query1. SQL Add( select' from student order by学号’); (2)Cear方法 Clear方法是清除 Query组件的SQL属性值。它也是SQL属性中的一个方 法。一般在用Add方法添加SQL语句前,先要用 Clear方法将SQL属性清 空,然后再添加全新的SQL语句。 Inprise Dephi
12.1.1 Query组件的常用属性(3) 4. SQL属性的两个基本方法 (1)Add方法 给Query组件的SQL属性添加SQL命令语句,以供Query组件执行。Add 是SQL属性中的一个方法。如下列语句: Query1.SQL.Add(‘select * from student’); Query1.SQL.Add(‘ order by 学号’);//在前一句SQL语句的基础上追加 SQL语句 这里也可以把以上两句语句合成一句,如下所示。这两种方法是等效的。 Query1.SQL.Add(‘select * from student order by 学号’); (2)Clear方法 Clear方法是清除Query组件的SQL属性值。它也是SQL属性中的一个方 法。一般在用Add方法添加SQL语句前,先要用Clear方法将SQL属性清 空,然后再添加全新的SQL语句