VB6.0操作SQL Server(五)——数据查询
前面的学习中,我们已经学习了一些VB6.0操作SQL Server的基本操作,原文链接如下:
VB6.0操作SQL Server(一)——如何连接数据库
VB6.0操作SQL Server(二)——数据录入
VB6.0操作SQL Server(三)——数据删除
VB6.0操作SQL Server(四)——数据修改
今天,我们来学习,数据查询:
VB中查询数据库中的数据不仅可以通过执行SQL语句实现,也可以通过控件或对(如ADO)限定检索数据的条件来实现。
简单查询可以通过Select语句限定数据源来实现。在Select语句中使用关键字、子句等实现。
下面对几种常用的简单查询进行介绍:
1)使用AS改变查询数据的列名多数情况下,在SQL Server中创建表的字段都是以英文命名的,这些字段名在显示时给一般用户带来不便,那么可以在查询中采用AS来改变字段在显示时的名称。
例:使用AS改变查询数据的列名
2)计算查询的结果VB编写的程序中,往往需要将数据库中的数据进行计算,以便获得所需的数值。
通过在查询语句中使用算术运算符,在配合AS为计算出的字段设置名称,即可在查询结果中显示计算得到的数据。
例:计算查询的结果
3)比较条件查询在查询语句中可以包含比较运算,常用的比较运算符有=、<、>、<>、!>、!<、>=、<=、!=。使用这些运算符连接表达式形成一个比较条件,系统将根绝该查询条件返回的布尔值来判断数据是否满足该查询条件,只有满足条件的数据才会出现在查询的结果集中。
这些比较条件在查询语句中需要与where子句连用,但是VB提供Filter属性为Recordset中的数据指定筛选条件。该属性根据条件可选择性地屏蔽Recordset对象中的记录,该属性语法如下:Recordset.Filter=字符串
例:通过Filter属性实现比较条件查询
2.模糊查询模糊查询是通过在VB中查询与所给查询内容相似的信息。
实现模糊查询可以通过执行SQL语句中的Like语句实现。Like语句用来确定给定的数据信息是否与指定的模式匹配。(模式可以包含常规字符和通配符字符。)Like也可以在ADO的Filter属性中使用。
下面介绍在Filter属性中使用Like与通配符的几种方法:
![]()
3.日期和时间查询
对日期和时间的数据查询,可以通过VB中的ADO的Filter属性限定筛选条件,或执行查询SQL语句实现。
1)查询指定日期时间的数据在SQL语句中,可以使用运算符(>、=、<、Like等)查询日期/时间类型的数据。日期时间字符串的书写要符合一定的格式,例如“2012-08-13 0:00:01”。
例:查询指定日期时间的数据
2)分别按年、月、日等查询数据在设计数据库系统应用程序时,往往需要查询某一年、某个月或某一天的数据。如果采用指定日期时间的方式来查询,虽然可以实现,但是过程是很麻烦的。这时可以采用Year、Month、Day等函数,对数据库中日期时间数据提取年、月、日等相关信息;然后结合指定日期时间的查询方式,即可方便地查询到某一年、某个月或者某一天的数据。
例:按年、月、日等查询数据
Private Sub cmdQuery_Click() Dim stc as string On Error Resume Next Select Case combo1.ListIndex Case 0 stc="year" Case 1 stc="month" Case 2 stc="day" End Select Adodc.RecordSource="select stuID as 学号,stuName as 姓名,stuAge as 年龄,stuBornDate as 出生日期 from Student_Info where " & stc & "(stuBornDate)='" & txtQuery.Text & "'" Adodc.Refresh If Err then Msgbox"请输入正确信息!",vbOKOnly,"错误"\End SubPrivate Sub Form_Load() Adodc.ConnectonString="Provider=SQLOLEDB;Data Source=.;Initail Catalog=student;UID=sa;PWD=123456" Adodc.RecordSource="select stuID as 学号,stuName as 姓名,stuAge as 年龄,stuBornDate as 出生日期 from Student_Info" set DataGrid.DataSource=Adodc combo1.AddItem"按年" combo1.AddItem"按月" combo1.AddItem"按日"End Sub
通过VB6.0操作SQL Server进行数据查询的内容就先介绍这么多,不知道您是否能够理解,如果有什么好的意见或建议,还望不吝赐教。