C 应用程序设计教程 第11章 数据库与ADO

上传人:飞*** 文档编号:50641774 上传时间:2018-08-09 格式:PPT 页数:153 大小:1.75MB
返回 下载 相关 举报
C 应用程序设计教程 第11章 数据库与ADO_第1页
第1页 / 共153页
C 应用程序设计教程 第11章 数据库与ADO_第2页
第2页 / 共153页
C 应用程序设计教程 第11章 数据库与ADO_第3页
第3页 / 共153页
C 应用程序设计教程 第11章 数据库与ADO_第4页
第4页 / 共153页
C 应用程序设计教程 第11章 数据库与ADO_第5页
第5页 / 共153页
点击查看更多>>
资源描述

《C 应用程序设计教程 第11章 数据库与ADO》由会员分享,可在线阅读,更多相关《C 应用程序设计教程 第11章 数据库与ADO(153页珍藏版)》请在金锄头文库上搜索。

1、数据库与ADO.NET数据库应用系统主要由三部分组成:数据库管理系统 (DBMS),是针对所有应用的,例如SQL Server。数据 库本身,是按一定的结构组织在一起的相关数据。数据 库应用程序,它是针对某一具体数据库应用编制的程序 ,用来获取,显示和更新数据库存储的数据,方便用户 使用。这里讲的是如何编写数据库应用程序。 常见数据库管理系统有:FoxPro,Sybase ,Access, Oracle,SQLserver等。数据库管理系统主要基于3种 数据模型:层次模型、网状模型、关系模型。目前应用 最广泛的是基于关系模型的关系数据库,以上所列数据 库管理系统都是关系数据库。一个关系数据库由

2、若干表 组成,表是一组相关的数据按行排列,例如一个通信录 就是这样一个表,表中的每一列叫做一个字段,例如通 信录中的姓名,地址,电话都是字段。字段包括字段名 及具体的数据,每个字段都有相应的描述信息,例如数 据类型,数据宽度等。表中每一行称为一条记录。数据库分为本地数据库和远程数据库,本地 数据库一般不通过网络访问,数据库和数据 库应用程序在同一计算机中,本地数据库也 称为单层数据库。远程数据库通常位于远程 计算机上,用户通过网络来访问远程数据库 中的数据。远程数据库可以采用两层,三层 或四层结构,两层结构一般采用C/S模式, 即客户端和服务器模式。三层模式一般采用 B/S模式,用户用浏览器访

3、问WEB服务器, WEB服务器用CGI、ASP、PHP、JSP等技 术访问数据库服务器,生成动态网页返回给 用户。四层模式是将应用逻辑从Web服务器 分离,在WEB服务器和数据库服务器中间增 加一个应用服务器。利用ADO.Net技术可以 开发数据库应用程序。11.1 SQL 基础数据库应用程序通过SQL(Structed Query Language,结构化查询语言)来访问数据库 中的数据,使用SQL语句可以在数据库的表 中查询指定记录、增加记录、删除记录,修 改记录中的数据。几乎所有的数据库都支持 SQL语言,编写数据库应用程序必须学习 SQL语言。这里只介绍最基本的SQL语句, 读者还应更

4、深入的学习SQL语言。Select语 句是最常用的SQL语句,可以从数据库的表 中获得满足一些条件的记录集。常见的SQL 语句如下: select * from student:从student表中选择所有 字段的所有记录。 select StudentNum,StudentName from student: 从Student表中选择字段StudentNum和字段 StudentName的所有记录 select * from score where StudentNum=1:从 score表中查找学号StudentNum=1同学的所有课程 的成绩。 Insert Into student(S

5、tudentNum,StudentName, StudentSex)Value(5,“田七“,“男“):向数据库的 student表中插入一个新记录,学号字段为5、姓名 字段为“田七“、性别字段为男。 Delete From student where StudentNum=1:删除 student表中学号为1的学生。 Update Student Set StudentName=“陈七“ Where StudentNum=1:数据库的Student表中学号为1的学 生名字修改为“陈七“。11.2 ADO.NET简介ADO.NET是.NET类库中用以操作数据库部分的总 称,它是早期ADO(Ac

6、tiveX Data Objects,活动 数据对象)的升级版本。ADO.NET模型中包含了能 够有效地管理数据的组件类。ADO.NET体系结构中组件可以分为2类:数 据提供程序和DataSet。上图从较高的层面上 显示了这两类组件。注意数据提供程序组件 有几个子组件:Connection、Command、 DataAdapter和DataReader。这些组件将用 于连接数据库、执行SQL命令、检索数据和 读取数据。这些子组件详见本章后面的内容 。 数据提供程序组件有多个版本,其中有一个版 本用于访问兼容Open DataBase Connectivity(ODBC)的数据库,一个版本用 于

7、访问兼容Object Linking and Embedding DataBase (OLE DB)的数据库,一个版本用 于访问SQL Server数据库,一个版本用于访 问Oracle数据库。在这个体系结构中,另一个主要组件是 DataSet。这个组件用于填充DataAdapter组 件从数据库中检索来的数据。在上图中, DataAdapter和DataSet之间的线条包含双向 箭头,因为DataAdapter组件不仅可以从数据 库中检索数据,填充到DataSet中,还可以从 DataSet组件中读取数据,更新数据库。11.3 创建数据库应用程序步骤设计一个数据库应用程序可以采用连接方式和不

8、连接 方式。所谓连接方式,是数据库应用程序通过SQL 语句直接对数据库操作,例如,查找记录、删除记 录、修改记录。所谓不连接方式,是数据库应用程 序把数据库中感兴趣的数据读入,建立一个副本, 数据库应用程序对副本进行操作,必要时将修改的 副本存回数据库。使用ADO.Net设计一个不连接方 式数据库应用程序一般包括以下基本步骤: (1)创建数据库,包括若干个表,在表中添入数据(若 干记录)。 (2)建立Connection类对象用来和数据库的进行连接。(3)建立DataSet类对象。DataSet对象在内存中,使 用DataAdapter类对象从数据库指定表中取出的感 兴趣记录做成一个新表,填充

9、到DataSet类对象中 ,可填充多个表,并可在DataSet类对象中指定表 和表的关系,可以认为是数据库在内存中的一个子 集。取出所有感兴趣的数据后,断开和数据库的连 接。 (4)创建DataAdapter类对象,用来从数据库指定表中 取出感兴趣的记录填充到DataSet对象。 (5)用支持数据绑定的控件(例如DataGraid控件)显示 DataSet类对象中的数据,供用户浏览、查询、修 改。 (6)及时更新DataSet中的内容,并把修改的数据存回 源数据库。 设计一个连接方式数据库应用程序一般包括以下基本 步骤:(1)建立数据库,包括若干个表,在表中添入若干记录 。 (2)建立Conn

10、ection类对象用来和数据库的进行连接。 (3)通过Command类对象直接用SQL语句访问数据库 中数据,在数据库的表中查询指定记录、增加记录 、删除记录,修改记录中的数据。如仅读数据库可 用DataReader类对象。 以下章节将按以上步骤说明连接方式和不连接方式数 据库应用程序的具体设计方法。使用VS2005正式 版,可以访问的数据库及相应的命名空间如下, VS2005速成版仅支持OLE DB和SQL Server文件系 统数据库。 SQL Server:System.Data.SqlClient。 Oracle:System.Data.OracleClient。 支持OLE DB数据

11、库(例如ACCESS): System.Data.OleDb。 支持ODBC数据库(例如FoxPro):System.Data.Odbc 。11.3.1 用SQL Server Express创建数据库SQL Server Express 数据库是基于文件系统 的免费软件,在开发项目中可以直接包含数 据库文件,可以将创建的包含数据库文件的 项目直接复制到另一个目录或者另一台计算 机中,而不需要对数据库进行单独管理,使 用十分简单。如需要使用更高级的数据库功 能,可将 SQL Server Express无缝升级到更 复杂的基于服务器的SQL Server2005版本。【例1】用SQL Serv

12、er Express创建一个学生 信息管理系统,包括两个表,表1记录学生 的基本情况,包括以下字段:学号、姓名、 性别。表2记录学生的学习成绩,包括以下 字段:记录编号、课程名称、分数、拥有该 课程成绩学生的学号。由于要记录全校所有 学生的成绩,把学习成绩表字段定义为学号 、语文成绩、数学成绩、物理成绩等字段是 不合适的,这样做增加一门课程,就要增加 一个字段,字段要动态增加,而且不同专业 所开设的课程也不相同,某些课程字段只是 个别专业使用,这显然不合理。创建数据库 具体步骤如下:(1)运行VS2005程序,选择菜单“视图(V)|其他 窗口(E)|数据资源管理器(D)”菜单项,打开“数 据资

13、源管理器”窗体,右击字符“数据连接”, 在快捷菜单中选择“添加连接(A)”菜单项,打 开对话框如下图。单击“更改(C)”按钮,在打 开的对话框中修改数据源为Microsoft SQL Server 数据库文件。单击“浏览(B)”按钮,在 打开的对话框中选择保存数据库文件的路径 ,键入文件名为“StudentI.mdf”。单击“确定” 按钮,打开对话框询问是否创建数据库,单 击“是(Y)”按钮,创建数据库。在所选路径下 可以看到两个数据库文件:StudentI.mdf和 StudentI_log.ldf。在“数据资源管理器”窗体将 看到这个数据库。参见下图。(2)在“数据资源管理器”窗体中展开

14、StudentI.mdf,右击字符“表”,在快捷菜单中 ,选择“添加新表(T)”菜单项,打开窗体如图 ,可为新表增加字段。创建学号字段 StudentNum,int类型,必填字段,默认值为 0。姓名字段StudentName,nvarchar(20) 类 型。性别字段StudentSex,nchar(1)类型, pic字段,数据类型为image。注意一个中文 字符或英文字符长度都为1。右击字段 StudentNum,在弹出快捷菜单中单击“设置 主键(Y)“菜单项,设置字段StudentNum为主 关键字,这样每个学生的学号都不能相同, 可以用学号字段区分不同记录,方便查询。 结果如图。单击工具

15、条“保存“按钮保存该表 ,表名为“Student“。(3)在“数据资源管理器“窗体中,右击字符 “Student“,在快捷菜单中,选择“显示表数 据(S)“菜单项,打开新窗体,可以为“Student “表各个字段输入数据,例如:1,张三,男 ;2,李四,女;3,王五,男;4,鲁豫, 女。 (4)同样方法建立表Score,记录所有学生学习成 绩。包括记录编号字段ScoreID,int类型, 主关键字;课程名称字段ClassName, nvarchar(30)类型;分数字段Score,int类型 ;拥有该课程成绩学生的学号字段 StudentNum,int类型,必填字段。增加若 干数据。11.3.

16、2 连接数据库连接不同的数据库,要使用不同的连接类对象。如 数据库应用程序连接微软的Sql Server7.0及以后版 本数据库,使用SqlConnection类建立连接效率较 高。使用SqlConnection类必须引用如下命名空间 :using System.Data.SqlClient;using System.Data;使用SqlConnection类建立连接对象的例子如下: string s=“DATABASE=Northwind;SERVER=localhost;UID=sa;PWD=;“ /连接字符串/建立连接对象 SqlConnection conn=new SqlConnection(s); Conn.Open()/建立连接 Conn.Close()/关闭连接 连接不同的数据库,要使用不同的连接字符串,连接 字符串将作为连接类对象属性ConnectionString的 值。本例连接字符串中,DATABASE为数据库名称 ,这里为Northwind,必须安装微软Sql Server数据 库系统,并安装

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 项目/工程管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号