《vbnet程序设计实用教程11》由会员分享,可在线阅读,更多相关《vbnet程序设计实用教程11(82页珍藏版)》请在金锄头文库上搜索。
1、VB.NET程序设计实用教程,第11章 简单数据库编程,出版社: 清华大学出版社; 第1版 (2008年10月1日) 丛书名: 高职高专“工作过程导向”新理念教材计算机系列 平装: 342页 正文语种: 中文 开本: 16 ISBN: 9787302179306,网络资源:ftp:/ .NET的基本概念,数据库的基本概念,NET Framework数据提供程序,ADO .NET对象,本章要点,ADO .NET数据控件,11.1 VB.NET数据库编程概述,11.1.1 数据库的基本概念 数据库(Database DB)是存放在计算机的外存储器中的相关数据的集合。数据库系统是指实际可运行的,按照
2、数据库方式存储、维护和向应用系统提供数据或信息支持的计算机系统。一个完整的数据库系统由数据库、数据库管理系统、数据库应用程序、计算机软件和硬件系统以及数据库管理员(Database Management Administrator DBA)组成。 数据库中的数据是按照一定的数据模型组织的,数据模型是把现实世界转换为计算机能够处理的数据世界的桥梁。常用的数据模型有四种,分别是层次模型、网状模型、关系模型和面向对象模型,目前最常用的数据模型是关系模型。 在关系模型中,数据被组织成若干张二维表的结构,每一张二维表称为一个关系或表。表中的一行称为一个元组,在计算机中存放称为记录。表中的一列称为属性,在
3、计算机中存放就是字段。如图11-1所示。分布式计算。,11.1 VB.NET数据库编程概述,11.1 VB.NET数据库编程概述,在数据库中,一个关系就是一张表,一个关系数据库通常由相关的多张表组成。如教务系统要管理教师的授课信息,可建立一个数据库,该数据库可由两张表组成:一个表用来存放教师的基本数据,如教师号、姓名、年龄、职称、专业等信息;另一张表用来存放该教师的授课信息,如教师号、所授课程号、授课班级、授课质量等信息。 在关系数据库管理系统中,要建立一个数据库通常要经过以下几步:一是建立数据库,用来容纳各个表及其它对象;二是建立表的结构,即建立表的各个字段的字段名、字段类型、字段宽度等;三
4、是向表中录入实际的数据。目前关系数据库系统有很多,最为常用的有Microsoft Access (适合开发单机数据库)和SQL Server(适合开发网络数据库),本章使用的数据库为Microsoft Access数据库,建立数据库的方法本章不再讲述,请读者参阅相关的参考书。,11.1.2 ADO .NET概述,ADO .NET是微软最新的数据访问组件,可用于对Microsoft SQL Server、Oracle、Access等流行的数据库。ADO .NET包含两大核心控件:.NET Framework数据提供程序和DataSet。 1.NET Framework数据提供程序 .NET Fr
5、amework数据提供程序用于连接到数据库、执行命令和检索结果,常用的有2个,分别是:SQL Server .NET Framework数据提供程序、OLEDB .NET Framework数据提供程序。 (1)SQL Server .NET数据提供程序,11.1.2 ADO .NET概述,ADO .NET是微软最新的数据访问组件,可用于对Microsoft SQL Server、Oracle、Access等流行的数据库。ADO .NET包含两大核心控件:.NET Framework数据提供程序和DataSet。 1.NET Framework数据提供程序 .NET Framework数据提供
6、程序用于连接到数据库、执行命令和检索结果,常用的有2个,分别是:SQL Server .NET Framework数据提供程序、OLEDB .NET Framework数据提供程序。 (1)SQL Server .NET数据提供程序,11.1.2 ADO .NET概述,SQLOLEDB用于 SQL Server 的 Microsoft OLE DB 提供程序MSDAORA用于 Oracle 的Microsoft OLE DB 提供程序Microsoft.Jet.OLEDB.4.0用于 Microsoft Jet 的 OLE DB 提供程序OLE DB .NET数据提供程序类位于System.D
7、ata.OleDb命名空间。 (3).NET数据提供程序模型的核心对象 .NET数据提供程序提供了四个核心对象,分别是Connection、Command、DataReader和DataAdapter 对象。这些对象及其功能如表11-2所示。 表11-2 .NET 数据提供程序提供了核心对象 对象功能Connection建立与特定数据源的连接。Command对数据源执行命令。DataReader从数据源中读取只向前的且只读的数据流,是一个简易的数据集DataAdapter用数据源填充 DataSet 并解析更新。,2DataSet对象,DataSet对象又称数据集对象是ADO .NET的核心对
8、象,用来表示包括相关表、约束和表间关系在内的整个数据集,可看作是内存中的数据源。DataSet的对象模型如图11-2所示,图11-2 DataSet的对象模型,11.1.2 ADO .NET概述,DataSet对象模型中各主要对象的关系如下:DataTable对象表示数据表,在DataTable对象中又包含了字段(列)和记录(行)。在DataSet中可以包含一个或多个DataTable对象,多个DataTable又组成了DataTableCollection集合对象。多个表之间可能存在一定的关系,表间的关系用DataRelation对象来表示,该对象通常表示表间的主外键关系。多个表之间可能存在
9、多个关系,因此DataSet对象可以包含一个或多个DataRelation对象,多个DataRelation对象又组成了DataRelationCollection集合对象。,11.1.3 SQL语言,SQL(Structured Query Language)是一种标准的关系数据库语言,利用它可以实现数据查询、插入记录、删除记录、更新记录等操作。下面仅介绍SQL的最基本语句的最基本格式。 1数据查询 可使用SQL的SELECT语句实现数据查询,该语句最常用格式和功能如下。 格式:Select 字段名列表 From 数据表名 Where 条件 功能:从由“数据表名”指定的表中查询满足“条件”的
10、记录,查询结果中只包含由“字段名列表”列出的字段信息。 说明:“字段名列表”是若干个字段的列表,字段名之间用逗号分开。如果省略“Where 条件”则表示所有记录。 需注意的是:Select语句的子句非常多,实现的功能也非常强大,要了解该语句的其它功能,读者可参阅介绍SQL的相关书籍。 例如,要列出学生表中,所有性别为男的学生的姓名和籍贯,可使用下列语句: Select 姓名,籍贯 From 学生 Where 性别=“男“,11.1.3 SQL语言,2插入记录 插入记录可使用SQL语言的INSERT语句向数据表中插入记录,语句格式和功能如下。 格式:INSERT INTO 表名(字段名1 , 字
11、段名2, ) VALUES (表达式1 ,表达式2,) 功能:向“表名”指定的表中插入一条记录,VALUES后面括号中的数据就是新记录的相应字段的数据。即“表达式1”的值作为“字段名1”中的数据,“表达式2”作为“字段名2”中的数据。如果要给记录的所有字段插入值,表名后面的字段名可以缺省,但插入数据的类型必须与表中相应字段的数据类型完全吻合;若只需要插入表中某些字段的数据,就需要列出要插入数据的字段名,并给出相应的值。 例如,有下列语句: INSERT INTO 学生(学号,姓名,籍贯) VALUES(“05010001“,“黄大军“,“江苏“) 其功能是向“学生”表中插入一条记录,并给学号、
12、姓名和籍贯字段赋值。,11.1.3 SQL语言,3修改记录 可使用SQL语言的UPDATE语句修改表中的数据,该语句的格式和功能如下。 格式:UPDATE 表名 SET 字段名1 = 表达式1,字段名2=表达式2 WHERE 条件 功能:对由“表名”指定的表中满足WHERE后面的“条件”的记录(若无WHERE子句将修改所有记录)进行修改,修改方法是:以“表达式1”的值替换“字段名1”中的值,以“表达式2”的值替换“字段名2”中的值,以此类推。 例如,有以下语句: UPDATE 学生SET 英语=英语+5 WHERE 年级=3 其作用是将学生表中3年级的学生的英语成绩增加5分。,11.1.3 S
13、QL语言,4删除记录 可以使用SQL的DELETE命令来删除表中的记录,该命令的格式和功能如下。 格式:DELETE FROM 表名 WHERE 条件 功能:从由“表名”指定的表中删除满足给定“条件”的记录,当缺省WHERE子句时,表示删除表中的全部记录。 例如,有以下语句: DELETE FROM 学生WHERE 总成绩200 其作用是从学生表中删除所有总成绩小于200的学生。,11.2 任务11-1:显示高级职称的教师信息,任务11-1描述: 在应用程序启动目录下,有一个名为teaching.mdb的Access数据库,该数据库中有一个名为Teacher的表,里面存放着教师的基本基本信息。
14、请编写程序从该表中读出所有高级职称的教师信息,并显示出来。程序的运行界面如图11-3所示。程序运行时单击“显示”按钮,将会把所有高级职称的教师信息显示在窗体上的文本框中。,Connection、Command、DataReder等对象的使用,11.2 任务11-1:显示高级职称的教师信息,图11-3程序运行界面,11.2 任务11-1:显示高级职称的教师信息,任务分析: 使用OleDbConnection对象与数据库建立连接,连接字符串为“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Teaching.MDB”使用OleDbCommand对象执行Se
15、lect命令,执行的SQL命令为“Select * From Teacher where 职称 Like %教授”。在程序中通过调用OleDbCommand对象的ExecuteReader生成OleDbDataReader数据集,然后通过一个循环使用OleDbDataReader的Get方法把数据集中的每条记录的各个列的数据读出来并连接在文件框控件的Text属性中即可实现需要的功能。 任务实现: 1启动VB.NET,新建一个项目,项目类型为“Windows应用程序”,项目的存放位置为“D:VBTASKCH11”,项目名为“Task11_1”。 2把Form1窗体的Text属性值设置为“显示高级职称的教师信息”,把它的Name属性值设置为“frmTeacherRead”。单击“解决方案资源管理器”中的“Form1.VB”窗体,然后在,11.2 任务11-1:显示高级职称的教师信息,属性窗口中把它文件名属性设置为“frmTeacherRead.vb”。然后执行【项目】【Task11_1属性】命令,在出现的“Task11_1属性页”对话框中把“启动对象”设置为“frmTeacherRead”。 3对照程序设计界面,为窗体添加控件并设置控件的属性。控件的属性设置如表11-3所示。 表11-3 任务11-1控件属性设置及其功能 控件名属性名属性值说明TextBox1TextMul