SQL编程(二)

高山远瞩WJ

高山远瞩WJ

2016-01-29 14:19

SQL编程(二),SQL编程(二)
 

17.5 SQL编程实例 

我们在学习了SQL程序的编写方法之后,我们便可以着手创建自己的应用程序了,通过创建应用程序我们对Delphi的强大功能就会有更深刻的印象,同时会进一步全面掌握有关SQL编程的知识,在本节中我们主要介绍两个例子,前一个例子主要是用静态的SQL语句编程,后一个例子是用动态SQL语句编程。 

17.5.1 设计简单的SQL程序编辑器 

例17.1:在这个例子中,我们设计一个交互式的SQL程序编辑器,在这个编辑器中,我们可以根据SQL语言的语法规则,编写常用的SQL命令,并通过单击编辑器中的有关的按钮,直接执行编写好的SQL命令,SQL命令的执行结果也会及时地通过一个TDBGrid 部件显示出来。 

表17.3 SQL编辑器中个主要部件的属性

━━━━━━━━━━━━━━━━━━━━

部 件 属 性 值

────────────────────

Form1 Caption=SQL程序编辑器

DBGrid1 DataSource=DataSource1

Button1 Caption=执行(&E)

Button2 Caption=清除(&C)

Button3 Caption=退出(&X)

Button3 kind=bkClose

Memo1

DataSource1 DataSet=Query1

Query1 DatabaseName=DEMOS

━━━━━━━━━━━━━━━━━━━━

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

因为我们在设置Query1的DatabaseName属性时将其设置为DEMOS,所以我们设计的这个SQL程序编辑器只能对DEOMS中的数据库表进行操作。

单击按钮Button1的事件处理过程代码为:

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

程序清单17.1

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

procedure TForm1.Button1Click(Sender:TObject);

begin

Query1.close;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

Query1.SQL.clear;

Query1.SQL.Add(Memo1.text);

Query1.Open;

end;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

单击按钮Button2的事件处理过程为:

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

程序清单17.2

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

procedure TForm1.Button2Click(Sender:TObject);

begin

Query1.close;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

Query1.SQL.clear;

Query1.ExceSQL;

end;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

下面我们对程序清单17.1和程序清单17.2中的程序代码进行简要的分析:

程序清单17.1中的程序代码是用来执行查询的。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

Query1.close;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

这一行程序是用来关闭Query1的,我们在前面的章节中介绍过,只有在调用close 方法将TQuery部件关闭之后,才能修改其SQL属性值,执行close命令关闭查询是很安全的,如果查询已经被关闭了,调用该方法不会产生任何影响。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

Query1.SQL.clear;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

因为TQuery部件的SQL属性只能包含一条SQL语句,调用Clear 方法的目的是为了清除SQL属性原来的属性值即原来的SQL命令语句,如果不调用clear方法清除原来的SQL命令语句,当在后面的程序中调用Add方法为SQL属性设置新的SQL命令语句时,Delphi 会将新的SQL命令语句加在原来的SQL命令语句,这样使得SQL属性中包含两条独立的SQL语句,这是不允许的。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

Query1.SQL.Add(Memo.text);

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

该条命令是将SQL编辑器的编辑区内的内容(TMemo部件Memo1)设置成Query1的SQL属性值。

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

Query1.open;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

该语句用来执行Query1中的SQL命令语句,如果执行查询从数据库中获得查询结果,查询结果会在数据网格DBGrid1中显示出来。

程序清单2是用来清除查询的,其前两行语句跟程序清单1中的代码是一样的。Query1.ExecSQL有一些特别,调用ExecSQL方法也是打开Query1,ExecSQL方法与open方法不一样的,请参看前面的章节,当Query1中SQL属性值为空时,即没有SQL语句时,只能调用ExecSQL方法来打开Query1,如果调用 open 方法会返回一个错误。 在执行完 Query1.ExecSQL语句之后,应用程序将会清除数据网格DBGrid1中的所有内容。 

17.5.2 设计一个数据库查询器 

例17.2:在数据库查询器中,用户可以选择要查询的数据库,查询数据库中的那一个表、根据数据库表中那一个字段进行查询,并且可以方便地指定查询条件,指定查询条件主要包括指定逻辑运算符(=、、<、<=、=、like、in、NOT like、NOT in)和字段值。

例子全部的程序清单如下:

unit main;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

interface

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

uses

SysUtils, Windows, Messages, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, DB, DBTables, Buttons, ComCtrls, Tabnotbk;

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

type

TQueryForm = class(TForm)

BitBtn1: TBitBtn;

DataSource1: TDataSource;

Table1: TTable;

GroupBox1: TGroupBox;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Label5: TLabel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

ListBox1: TListBox;

ListBox2: TListBox;

ListBox3: TListBox;

E

展开更多 50%)
分享

猜你喜欢

SQL编程(二)

Delphi
SQL编程(二)

SQL编程(一)

Delphi
SQL编程(一)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

事件编程(二)

C语言教程 C语言函数
事件编程(二)

Delphi中的SQL编程

编程语言 网络编程
Delphi中的SQL编程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

sql编程的几个常识

编程语言 网络编程
sql编程的几个常识

编程管理sql server的帐号

SQLServer
编程管理sql server的帐号

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

一个简单的图形计数器

一个简单的图形计数器

《兰陵王》装备强化锻造系统详细解析

《兰陵王》装备强化锻造系统详细解析
下拉加载更多内容 ↓