在前面的课程中,我们已经学会了使用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和三个命令按钮。将三个命令按钮命名�cmdAuthor�cmdTitle � cmdAll 并改变它们的标题�展示作� ,展示书名 � 展示全部。您还可以更改表单的标题�书库。设计界面如�27.1所示:
现在,你需要连接数据库至ADO数据控件。在ADODC属性页对话框中,单击记录源(RecordSOurce)选项卡上,根据指令的类型(Command Type)选择 1-adCmdText �然后� Command Text(SQL)本文框中键入 SELECT * FROM book, 如图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
现在,运行程序。当你点�“展示作者�按钮时,只有作者的姓名将被显示出来,如下图所示:
当您单击“展示书名�的按钮时,只有书名显示出来,如下图所示:
最后,点击 “展示全部� 按钮时,所有的信息将显示出来�