第27课: 应用 SQL 查询

[上一课][返回主页][下一课]

在前面的课程中,我们已经学会了使用DataGrid控件从一个数据库中显示数据。但是,它不能为用户提供搜索和选择功能。为了能够搜寻某个信息,我们需要使用SQL查询。SQL是结构化查询语言。使用SQL关键词,我们可以搜寻和选择要显示的信息。最基本的SQL关键关键词是  SELECT,它是和关键词  FROM 配合从一个数据库中选择一个或多个表的信息。其语法是:

SELECT fieldname1,fieldname2,.....,fieldnameN  FROM  TableName

fieldname1, fieldname2,......fieldnameN 是从一个数据库表中的字段。其实你也可以用汉字来给字段和数据库的表取名,如下面的范例:

SELECT 姓名,城市,电话 FROM 学生名单

您可以选择任何数量的字段名来查询资料。如果你想选择所有的信息,你可以使用下面的语法:

SELECT  * FROM  TableName

为了示范如何应用SQL查询,让我们以下列字段名来建立一个具有以下字段ID, 书名, 作者, 年份, ISBN, 出版社, 价钱的Microsoft Access数据库。把table 保存为书库表,数据库则保存为books.mdb

接下来,我们将启动Visual Basic,并插入一个ADO控件,一个DataGrid和三个命令按钮。将三个命令按钮命名为cmdAuthorcmdTitle cmdAll 并改变它们的标题为展示作者 ,展示书名展示全部。您还可以更改表单的标题为书库。设计界面如图27.1所示:


图27.1

现在,你需要连接数据库至ADO数据控件。在ADODC属性页对话框中,单击记录源(RecordSOurce)选项卡上,根据指令的类型(Command Type)选择 1-adCmdText 。然后在 Command Text(SQL)本文框中键入 SELECT * FROM book, 如图27.2所示。

图27.2

 

接下来,请单击展示作者命令按钮 cmdAuthor 然后键入下面的语句:

Private Sub cmdAuthor_Click()

Adodc1.RecordSource = "SELECT 作者 FROM 书库表 ORDER BY  作者 ASC"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource

End Sub

ORDER BY  作者 ASC 是以作者名字顺序排列。

再下来单击展示书名命令按钮 cmdTitle 然后键入下面的语句:

Private Sub cmdTitle_Click()

Adodc1.RecordSource = "SELECT 书名 FROM 书库表 ORDER BY 书名 DESC"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource

End Sub

ORDER BY 书名 DESC 是以书名逆序排列。

最后单击展示全部命令按钮 cmdAll, 键入下面的语句:

Private Sub cmdAll_Click()

Adodc1.RecordSource = "SELECT * FROM 书库表"
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource

End Sub

现在,运行程序。当你点击“展示作者”按钮时,只有作者的姓名将被显示出来,如下图所示:

 

图27.3

当您单击“展示书名”的按钮时,只有书名显示出来,如下图所示:

图27.4

最后,点击 “展示全部” 按钮时,所有的信息将显示出来。

图27.5

[上一课][返回主页][下一课]

版权所有©2008 Dr.Liew Voon Kiong。保留所有权利。联系我们: admin@vbtutor.net

[Privacy Policy]