VB数据库编程技术实例word精品文档22页.doc
《VB数据库编程技术实例word精品文档22页.doc》由会员分享,可在线阅读,更多相关《VB数据库编程技术实例word精品文档22页.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流VB数据库编程技术实例【精品文档】第 22 页VB数据库编程技术一 ODBC概述在传统的数据库管理系统中,每个数据库管理系统都有自己的应用程序开发接口(API),为了解决此问题,微软公司开发了ODBC(Open DataBase Connectivity,即开放数据库互连)。ODBC 是一套开放数据库系统应用程序接口规范,目前它已成为一种工业标准,它提供了统一的数据库应用编程接口(API),为应用程序提供了一套高层调用接口规范和基于动态连接库的运行支持环境。使用ODBC开发数据库应用时,应用程序调用的是标准的ODBC函数和SQL语句,屏蔽了DBMS之间的
2、差异,数据库底层操作由各个数据库的驱动程序完成。因此应用程序有很好的适应性和可移植性,并且具备了同时访问多种数据库管理系统的能力,从而彻底克服了传统数据库应用程序的缺陷。主要任务包括:建立与数据源的连接;向数据源发送SQL请求;断开与数据源的连接数据源数据源是指任一种可以通过ODBC连接的数据库管理系统,它包括要访问的数据库和数据库的运行平台。数据源名掩盖了数据库服务器或数据库文件间的差别,通过定义多个数据源,每个数据源指向一个服务器名,就可在应用程序中实现同时访问多个DBMS的目的。数据源(Data Source Name,简称DSN)是驱动程序与DBS连接的桥梁,数据源不是DBS,而是用于
3、表达一个ODBC驱动程序和DBMS特殊连接的命名。在连接中,用数据源名来代表用户名、服务器名、所连接的数据库名等,可以将数据源名看成是与一个具体数据库建立的连接。数据源分为以下三类: (1)用户数据源:用户创建的数据源,称为“用户数据源”。此时只有创建者才能使用,并且只能在所定义的机器上运行。任何用户都不能使用其他用户创建的用户数据源。 (2)系统数据源:所有用户和在Windows NT下以服务方式运行的应用程序均可使用系统数据源。(3)文件数据源:文件数据源是ODBC 3.0以上版本增加的一种数据源,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。(与机器无关)二、SQL语言基础创建
4、表格 SQL语言中的create table语句被用来建立新的数据库表格。Create table语句的使用格式如下:create table tablename(column1 data type,column2 data type, column3 data type);如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项:create table tablename(column1 data type constraint,column2 data type constraint,column3 data type constraint); 举例如下:create tabl
5、e employee(firstname varchar(15),lastname varchar(20),age number(3),address varchar(30),city varchar(20);简单来说,创建新表格时,在关键词create table后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制条件等。注意,所有的SQL语句在结尾处都要使用“;”符号。使用SQL语句创建的数据库表格和表格中列的名称必须以字母开头,后面可以使用字母,数字或下划线,名称的长度不能超过30个字符。注意,用户在选择表格名称时不要使用SQL语言中的保留关键词,如se
6、lect, create, insert等,作为表格或列的名称。数据类型用来设定某一个具体列中数据的类型。例如,在姓名列中只能采用varchar或char的数据类型,而不能使用number的数据类型。SQL语言中较为常用的数据类型为:char(size):固定长度字符串,其中括号中的size用来设定字符串的最大长度。Char类型的最大长度为255字节。varchar(size):可变长度字符串,最大长度由size设定。number(size):数字类型,其中数字的最大位数由size设定。Date:日期类型。number(size,d):数字类型,size决定该数字总的最大位数,而d则用于设定该
7、数字在小数点后的位数。最后,在创建新表格时需要注意的一点就是表格中列的限制条件。所谓限制条件就是当向特定列输入数据时所必须遵守的规则。例如,unique这一限制条件要求某一列中不能存在两个值相同的记录,所有记录的值都必须是唯一的。除unique之外,较为常用的列的限制条件还包括not null和primary key等。Not null用来规定表格中某一列的值不能为空。Primary key则为表格中的所有记录规定了唯一的标识符。查询简单的SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。完整结构:Select All/Distinc
8、t From,WhereGroup by HavingOrder by Asc/Desc Group by :按列名1的值进行分组,属性值相等的为一个组,如果带Having短句,表示只有满足指定条件的才输出。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,emailFROM testtableWHERE name=张三(一) 选择列表选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。1、选择所有列例如,下面语句显示testtable表中所有列的
9、数据:SELECT *FROM testtable2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如:SELECT nickname,emailFROM testtable3、更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题=列名列名 列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:SELECT 昵称=nickname,电子邮件=emailFROM testtable4、删除重复行SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,
10、默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。5、限制返回的行数使用TOP n PERCENT选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如:SELECT TOP 2 *FROM testtableSELECT TOP 20 PERCENT *FROM testtable(二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或
11、视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:SELECT username,citytable.cityidFROM usertable,citytableWHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名:表名 as 别名表名 别名(二) FROM子句FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它
12、们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:SELECT username,citytable.cityidFROM usertable,citytableWHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名:表名 as 别名表名 别名例如上面语句可用表的别名格式表示为:SELECT username,b.cit
13、yidFROM usertable a,citytable bWHERE a.cityid=b.cityidSELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。例如:SELECT a.au_fname+a.au_lnameFROM authors a,titleauthor ta(SELECT title_id,titleFROM titlesWHERE ytd_sales10000) AS tWHERE a.au_id=ta.au_idAND ta.title_id=t.title_id此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据
14、。(三) 使用WHERE子句设置查询条件WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:SELECT *FROM usertableWHERE age20WHERE子句可包括各种条件运算符:比较运算符(大小比较):、=、=、=、!、!=10 AND age=302、列表运算符例:country IN (Germany,China)3、模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。可使用以下通配字符:百分号%:可匹配任意类型和
15、长度的字符,如果是中文,请使用两个百分号即%。下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。方括号:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。:其取值也 相同,但它要求所匹配对象为指定字符以外的任一个字符。例如:限制以Publishing结尾,使用LIKE %Publishing限制以A开头:LIKE A%限制以A开头外:LIKE A%4、空值判断符例WHERE age IS NULL5、逻辑运算符:优先级为NOT、AND、OR(四)查询结果排序 使用ORDER BY子句对查询返回的结果按一列或多列排序。ORDER BY子句的语法格式为:ORDER BY colu
16、mn_name ASC|DESC ,n其中ASC表示升序,为默认值,DESC为降序。ORDER BY不能按ntext、text和image数据类型进行排序。例如:SELECT *FROM usertableORDER BY age desc,userid ASC另外,可以根据表达式进行排序。向表格中插入数据SQL语言使用insert语句向数据库表格中插入或添加新的数据行。Insert语句的使用格式如下:insert into tablename(first_column,.last_column)values (first_value,.last_value); 例如:insert into
17、employee(firstname, lastname, age, address, city)values (Li, Ming, 45, No.77 Changan Road, Beijing”);简单来说,当向数据库表格中添加新记录时,在关键词insert into后面输入所要添加的表格名称,然后在括号中列出将要添加新值的列的名称。最后,在关键词values的后面按照前面输入的列的顺序对应的输入所有要添加的记录值。更新记录SQL语言使用update语句更新或修改满足规定条件的现有记录。Update语句的格式为:update tablenameset columnname = newval
18、ue , nextcolumn = newvalue2.where columnname OPERATOR value and|or column OPERATOR value;例如:update employeeset age = age+1where first_name= Maryand last_name= Williams;使用update语句时,关键一点就是要设定好用于进行判断的where条件从句。删除记录SQL语言使用delete语句删除数据库表格中的行或记录。Delete语句的格式为:delete from tablenamewhere columnname OPERATOR
19、value and|or column OPERATOR value; 例如:delete from employeewhere lastname = May;简单来说,当需要删除某一行或某个记录时,在delete from关键词之后输入表格名称,然后在where从句中设定删除记录的判断条件。注意,如果用户在使用delete语句时不设定where从句,则表格中的所有记录将全部被删除。删除数据库表格在SQL语言中使用drop table命令删除某个表格以及该表格中的所有记录。Drop table命令的使用格式为:drop table tablename;例如:drop table employe
20、e;如果用户希望将某个数据库表格完全删除,只需要在drop table命令后输入希望删除的表格名称即可。Drop table命令的作用与删除表格中的所有记录不同。删除表格中的全部记录之后,该表格仍然存在,而且表格中列的信息不会改变。而使用drop table命令则会将整个数据库表格的所有信息全部删除。三、数据控件1、 ADO数据控件1.1 ADO对象模型 ADO(ActiveX Data Object)数据访问接口是Microsoft处理数据库信息的最新技术。它是一种ActiveX对象,采用了被称为OLE DB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种
21、方式的扩展。ADO对象模型定义了个可编程的分层对象集合,主要由三个对象成员Connection、Command和Recordset对象,以及几个集合对象Errors、Parameters和Fields等所组成。图9.13示意了这些对象之间的关系。表9.6是对这些对象的分工描述。Connection对象Error对象Error集合Command对象Parameter对象Parameter集合Recordset对象Field对象Field集合图9.13 ADO对象模型表9.6 ADO对象描述对象名描 述Connection连接数据来源Command从数据源获取所需数据的命令信息Recordset所
22、获得的一组记录组成的记录集Error在访问数据时,由数据源所返回的错误信息Parameter与命令对象有关的参数Field包含了记录集中某个字段的信息要想在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。引用方式是执行“工程”菜单的“引用”命令,启动引用对话框,在清单中选取“Microsoft ActiveX Data Objects 2.0 Library”选项。1.2 使用ADO数据控件 在使用ADO数据控件前,必须先通过“工程|部件”菜单命令选择Microsoft ADO Data Control 6.0(OLEDB)”选项,将ADO数据控件添加到工具箱。ADO数据控件与Vis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 数据库 编程 技术 实例 word 精品 文档 22
限制150内