欢迎来到天天文库
浏览记录
ID:37898167
大小:67.00 KB
页数:12页
时间:2019-06-02
《VB中使用SQL语言基本》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VB中使用SQL语言基本教程SQL语言基本教程(一) 数据库查询语言(SQL)是使用于关系数据库的标准语言,被很多类型的数据库所支持。本文将以VB加DAO为例,来介绍基本的SQL语法以及使用。本章将介绍的是SQL语言中的基本查询语句,并带有范例。 要更好的阅读本文,读者需要对数据库的基本结构以及术语有一个基本的了解,而且最好能有一定的VB数据库编程经验。除非特别说明,本文将使用的数据库是VB中附带的BIBLIO.MDB数据库。一、SELECT...FROM...WHERE语句 语句的语法如下:SE
2、LECT[all
3、*
4、distinctcolumn1,column2]FROMtable1[,table2]WHERE[condition1
5、expression1][ANDcondition2
6、rxpression2] 在上面的语法中,[]外的语句是必须的,而[]内的是可选的,对于以
7、分割的操作符,则表明语法中必须从
8、分割的操作符中选择一个。下面的语法描述同上。 在SELECT...FROM...WHERE语句中其中SELECT指定需要检索的字段,FROM指定要查询的表,WHERE指定选择纪录的条件
9、,另外还可以包含ORDERBY语句来制定排序纪录。语法如下:ORDERBYcolumn1
10、Integer[ASC
11、DESC] 其中column1制定排序的字段,也可以使用Integer指定的字段索引来排序,ASC为升序、DESC为降序。范例一:找到Titles表中所有出版日期在1990年以后以及包含文字Beginner的书名建立一个新工程,加入DAO定义库(点击菜单中的Project
12、References项,在列表中选择MicrosoftDAO3.51ObjectLibrary(也可以是更高版本的3.60
13、,如果安装了的话),然后在Form中加入一个ListBox控件。在Form1的代码窗口中加入以下代码:PrivateSubForm_Load() DimrsTempAsRecordset DimdbTempAsDatabase DimastrAsString SetdbTemp=DBEngine(0).OpenDatabase("e:programfilesmicrosoftvisualstudiovb98biblio.mdb",_dbOpenSnapshot) astr="
14、SELECT[Title]FROM[Titles]WHERE[YearPublished]>1990"&_ "ANDTitleLIKE'*Beginner*'ORDERBYTitleDESC" SetrsTemp=dbTemp.OpenRecordset(astr) IfrsTemp.RecordCount>0Then rsTemp.MoveFirst DoUntilrsTemp.EOF List1.AddItemrsTemp![Titl
15、e] rsTemp.MoveNext Loop End12IfEndSub 运行程序,List1中就会列出所有出版日期在1990年以后以及包含文字Beginner的书的书名并将书名按照降序进行排列。 在上面的SELECT语句的WHERE中,我们使用了操作符号>来比较大小以及使用LIKE进行匹配。在WHERE语句中,可以使用的操作符有以下几类:1、比较操作符 包含=、<>、>、<、>=、<=等若干类2、逻辑操作符 包含以下若干类: LIKE、IN、BETW
16、EEN、UNIQUE、ISNULL、EXISTS、ALL和ANY LIKE操作符通过使用通配符将一个值同其它值比较,在VB的SQL查询中,可以使用的通配符是*和?其中*代表任意的若干个字符,而?代表一个字符,例如上面语句中的LIKE'*Beginner*代表查找所有包含字符串Beginner的值。不过要注意的是使用*和?作为通配符是VB的专利。真正的SQL语言的通配符是%和_,其中%代表任意多个字符,_代表一个字符例如VB中的DataEnvironment使用的就是%和_作为查询通配符。另外Microso
17、ftJetEngine对于LIKE操作符还提供了其它一些的过滤选项,具体的内容可参见MSDN索引中的LikeOperator条目。 IN操作符用于比较某一个值是否等于几个值中的一个值,例如下面的语句: "SELECT[Title],[YearPublished]FROM[Titles]WHERE[YearPublished]IN(1990,1991,1995)" 将从表Titles中选择
此文档下载收益归作者所有