《VB程序设计基础教程第8章》由会员分享,可在线阅读,更多相关《VB程序设计基础教程第8章(40页珍藏版)》请在金锄头文库上搜索。
1、第8章 数据库编程基础,8.1 数据库基础,数据库的定义,8.1.1 数据库基本概念,数据库是以一定的组织形式存储在计算机中的相关数据集合。数据库的模型主要有层次型、网状型、关系型,其中关系型数据库是当今世界数据库的主流模型。数据库系统则是具有数据管理功能的计算机系统,是按一定的数据模型进行组织、存储、维护,并提供数据服务支持系统。比较常用的数据库有Oracle、Sybase、DB2、SQL Server、Access、VF等。,数据库系统的组成,对数据的操作能力,数据库的管理功能,数据库的描述功能,通常数据库管理系统具有以下功能,数据库(DataBase,简称 DB) 数据库管理系统(Dat
2、aBase Management System ,简称 DBMS)。,数据库的设计,数据库基本术语,记录集(Recordset),VB数据库应用程序的组成,8.1.2 Visual Basic数据库体系结构,图8-1 数据库应用程序的组成,数据库应用程序的存放,图8-2 客户机/服务器数据库与远程数据库的存放,8.2 SQL语言简介,8.2.1 Select语句,在众多的SQL命令中,Select语句应该算是使用最频繁的。Select语句主要被用来对数据库进行查询并返回符合查询标准的结果数据。Select语句的语法格式如下: select column1 , column2,etc from
3、tablename where condition; ( 表示可选项) Select语句中位于Select关键词之后的列名,用来决定哪些列将作为查询结果返回。可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。 Select语句中位于from关键词之后的表格名称用来决定将要进行查询操作的目标表格。 Select语句中的where可选从句,用来规定哪些数据值或哪些行将被作为查询结果返回或显示。,8.2.2 Insert语句,SQL语言使用Insert语句向数据库表格中插入或添加新的数据行。Insert语句的使用格式如下: Insert into tablename (f
4、irst_column,last_column) values (first_value,last_value); 例如: Insert into employee (firstname, lastname, age, address,city) values (wang, Ming, 35,No.11 Changan Road, Chengdu);,8.2.3 Update语句,SQL语言使用Update语句更新或修改满足规定条件的现有记录。其格式为: Update tablename Set columnname = newvalue , nextcolumn = newvalue2 Wh
5、ere columnname OPERATOR value and|or column OPERATOR value; 例如: Update employee Set age = age+1 Where first_name= Maryand last_name=Williams; 使用Update语句时,关键一点就是要设定好用于进行判断的Where条件从句。,8.2.4 Delete语句,SQL语言使用Delete语句删除数据库表格中的行或记录。Delete语句的格式为: Delete from tablename Where columnname OPERATOR value and|or
6、 column OPERATOR value; 例如: Delete from employee Where lastname = May;,8.2.5 Create语句,SQL语言中的Create table语句被用来建立新的数据库表格。Create table语句的使用格式如下: Create table tablename (column1 data type, column2 data type, column3 data type); 如果希望在建立新表格时规定列的限制条件,可以使用可选的条件选项: Create table tablename (column1 data type
7、constraint, column2 data type constraint, column3 data type constraint);,8.2.6 Drop语句,在SQL语言中使用Drop table命令删除某个表格以及该表格中的所有记录。Drop table命令的使用格式为: Drop table tablename; 例如: Drop table employee;,8.3 数据控件,8.3.1 Data控件,图8-3 创建Data,Data控件的常用属性,DataBase属性 DataBaseName属性 RecordSource属性 Connect属性 RecordsetTy
8、pe属性 Exclusive属性 ReadOnly属性 Option属性 DefaultType属性 EditMode属性 BOFAction属性 EOFAction属性,表8-1 RecordSetType属性的3种设置值,表8-2 Option属性的设置值,表8-3 DefaultType属性的设置值,表8-4 EditMode属性的设置值,表8-5 BOFAction属性的设置值,表8-6 BOFAction属性的设置值,Data控件的常用事件,(1)Validate事件 当记录集中的记录指针发生变化、指向其他记录时,触发该事件,而且此时,激烈指针仍然还在原来的记录处。其一般格式为: P
9、rivate Sub object_Valite(Index As Integer, action As Integer,save As Integer) 其中,Index是控件数组的标号;action为一整数,用来指出引发此事件的原因;save为一布尔常量,用来指定被连接的数据是否已经改变(值为True,表示被连接的数据已经改变;值为False,表示被连接的数据未被改变)。,(2)Reposition事件 当一条记录成为当前记录之后便会引发此事件,其一般语法格式为: Private Sub object.Reposition(Index As Integer) 其中,Index是控件数组的标
10、号。 当加载Data控件时,Recordset对象中的第一条记录会成为当前记录,便会引发reposition事件。使用该事件可以进行基于当前记录中数据的计算,或者改变窗体来响应当前记录中的数据。,Data控件的常用方法,CancelUpdate方法 用于将数据库中的数据重新读入到绑定在数据控件上的绑定控件里,其一般语法格式为: 对象.CancelUpdate,常用方法,UpdateRecord方法 用于保持被连接控件的当前值,其一般语法格式为: 对象.UpdateRecord,8.3.2 数据绑定控件,8.4 数据库编程对象,DBEngine:Jet数据库引擎 WorkSpace:可容纳一个或
11、多个数据库的区域 Database:表格的集合 TableDef:表格定义 QureyDef:查询定义 Recordset:作为查询结果的一组记录 Field:表格中的一列 Index:记录的有序列表 Relation:有关表格之间特定关系的存储信息,8.4.1 数据访问对象(DAO),8.4.2 远程数据对象(RDO),远程数据对象(RDO)利用ODBC连接在数据库上,可以利用Windows控制面板中的ODBC项建立与数据库的ODBC连接,然后利用RDO对象中的任何一种连接方式。RDO与DAO在设计上是平行的,如数据库引擎是rdoEngine而不是DBEngine,那么Recordset会变
12、成rdoResultsets,TableDefs会变成rdoTables,Workspace会变成rdoEnvironments,Field对象会变成rdoColumn对象。尽管名称发生了变化,但命令组与RDO仍是相同的。与数据控件一样,远程数据控件也会访问数据库并在约束控件中显示数据。与数据控件的不同之处在于,使用远程数据控件可以访问ODBC数据源(它包括用所有流行的商业数据库程序建立的数据库)。,8.4.3 ActiveX数据对象(ADO),连接(Connection) 命令(Command) 参数(Parameter) 记录集(Recordset) 字段(Field) 错误(Error)
13、 集合(Collection) 事件(Events) ADO数据控件,8.5 建立和访问数据库实例,8.5.1 创建数据库和表,Visual Basic中包含一个“可视化数据库管理器”,它是一个能提供所有数据创建和维护的基本功能工具。它实际上是一个独立于Visual Basic的程序,但只能在Visual Basic的环境中运行,其操作步骤如下:,图8-4 “VisData”窗口,图8-5 “选择要创建的Microsoft Access数据库”对话框,图8-6 新建的数据库窗口,图8-7 “表结构”对话框,图8-8 “添加字段”对话框,表8-7 表结构,图8-9 “表结构”对话框,图8-10
14、“Dynaset TelBook”对话框 图8-11 添加数据,8.5.2 利用Data控件创建简单的数据库应用程序,设计一个应用程序,在程序中可以对前面创建的数据库进行增加、删除、更新等操作。其操作步骤如下:,图8-12 各控件在窗体中的位置,表8-8 对象属性设置,图8-13 演示程序,习题,1选择题 (1)要利用数据控件返回数据库中的记录集,则需设置( )属性。 AConnect BDatabaseName CRecordSource DRecordType (2)Seek方法可在( )记录集中进行查找。 ATable类型 BSnapshot类型 CDynaset类型 D以上三者 (3)下列( )组关键字是Select语句中不可缺少的。 ASelect、From BSelect、Where CFrom、Order By DSelect、All (4)在使用Delete方法删除当前记录后,记录指针位于( )。 A被删除记录上 B被删除记录的上一条 C被删除记录下一条 D记录集的第一条,更多习题见书153页,Thank You !,