数据库与网络编程_第1页
数据库与网络编程_第2页
数据库与网络编程_第3页
数据库与网络编程_第4页
数据库与网络编程_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库与网络编程C#与SQL、ACCESS初步认识初步认识认识认识ADO.NETADO.NET试试动手试试动手进入实战进入实战连接数据库连接数据库访问数据库访问数据库学习进程学习进程前言1、总学时64学时2、教材:Visual C# 2008数据库编程实训教程(新世纪高 职高专课程与实训系列教材)辅助教材:C#网络应用开发例学与实践清华大学出版社3、学习目标-能完成采用C#编写应用程序实现对数据库的访问4、学习要求-强化动手能力、调试能力、编程能力的训练第一讲使用ADO.NET访问数据库一、主要内容:1、 ADO.NET对象模型概述2、主要数据对象应用举例二、目的及要求1、掌握ADO.NET结

2、构组及其关系2、掌握数据提供程序及各部分作用一、 ADO.NET对象模型概述ADO.NET是 .NET提供的、为访问各种数据源提供统一接口和方法的类。ADO.NET包括两大部分:数据提供程序数据提供程序和数据集数据集(DataSet)。数据提供程序负责与物理数据库的连接,数据集代表的数据。1、.NET数据提供程序根据将要访问的数据库类型,.NET框架提供了不同的数据提供程序(1)SQL Server .NET数据提供程序用以访问SQL Server数据库(2)OLE DB .NET数据提供程序用以访问任何与OLE DB兼容的数据库一、 ADO.NET对象模型概述每个数据提供程序都实现了以下的类

3、,构成了提供程序的核心对象:Connection建立对物理数据库的连接Command用于执行数据库操作命令DataReader用于访问一个只读、向前的数据流DataAdapter用以负责数据集同物理数据源的通信一、 ADO.NET对象模型概述不同数据提供程序的核心对象命名不同,但内容几乎一样:核心对象OLE DB .NET SQL Server .NETConnectionOleDbConnection SqlConnectionCommandOleDbCommand SqlCommandDataReaderOleDbDataReader SqlDataReaderDataAdapterOle

4、DbDataAdapter SqlDataAdapter一、 ADO.NET对象模型概述2. ADO .NET对象模型如下图所示:数据提供序ConnectionDataAdapterCommandDataReaderDataSet应用程序ADO .NET数据库一、 ADO.NET对象模型概述另外,不同的数据提供程序所在的名字空间也不一样,如:OLE DB .NET System.Data.OleDb SQL Server .NETSystem.Data.SqlClient数据集(DataSet)-记录在内存中的数据,类似一个简化的关系数据库,包含表及表之间的关系。二、主要数据对象应用举例示例:

5、编写一个C#应用程序来访问SQL数据库,读取学生信息表中的学生信息,并显示出来。学生信息表是在Access、SQL中已建立好的。见示例GetStudents方法一:Access数据库的访问方法二:采用Sql为后台数据库在此,只列出不同的代码三、小结从上面的分析中可以看出,通过ADO.NET访问数据库的一般步骤如下:(1)建立数据库连接对象(Connection对象);(2)打开数据库连接( Connection对象的Open方法);(3)建立数据库命令对象,指定命令对象所使用的连接对象(Command对象);(4)指定命令对象的命令属性( CommandText对象的属性);(5)执行命令(

6、Command对象的方法,例如ExecuteReader方法)(6)操作返回结果(SqlDataReader对象或者其他对象)(7)关闭数据库连接。第二讲 数据连接一、主要内容:1、 连接SQL数据源2、 连接OLE DB数据源二、目的及要求1、掌握Sql连接数据源的方法2、掌握OLE DB连接数据源的方法一、 连接SQL数据源1、 SqlConnection类(1)命名空间 using System.Data.SqlClient;(2)定义 using System.Data.SqlClient;SqlConnection conn = new SqlConnection();(3) Sql

7、Connection类的方法Open()、Close();如:conn. Open()一、 连接SQL数据源2、SQL的连接字符串包含一个由一些“属性名/值”对组成的集合。每一个“属性名/值”对都由分号隔开。如:“server=(local);database=Students;Integrated Security=SSPI; windows身份验证方式若采用SQL验证方式:User Id=用户名;password=用户密码。一、 连接SQL数据源3、SqlConnection的方法Open()和Close()4、任务:编写应用程序访问student数据库。二、 连接OLE DB数据源1、任

8、务演示:(略)2、OLEDB.NET数据提供程序using System.Data.OleDb;3、新建对象OleDbConnection conn = new OleDbConnection();二、 连接OLE DB数据源4、设置连接字符串string connstr = “provider= microsoft.jet.oledb.4.0;data source=;connstr +=DataStudent.mdb;第三讲 数据命令一、主要内容:1、 ExecuteScalar方法2、ExecuteNonQuery方法二、目的及要求1、掌握返回单个值的命令。2、掌握数据更新。三、 数据操

9、作相关类引言: 建立了数据库的连接之后,就可以对数据库进行操作了,包括创建、读取、更新和删除。 和连接对象类似,在.NET中存在SqlCommand和OleDbCommand。区别: OleDbCommand类没有ExecuteXmlReader方法之外,其余基本相同数据命令的常用属性:CommandText 获取或设置要对数据源执行的T-SQL语句 或存储过程CommandType 获取或设置一个值,该值指示如何解释 CommandText属性Connection 数据命令对象所使用的连接对象Parameters 参数集合例如:cmd.Connection=ConnectionObject;

10、cmd.CommandText=commtext;创建命令对象的构造函数形式共有4种,请大家掌握3种:、不带任何参数SqlCommand cmd=new SqlCommand();、可以接受一个命令文本string commtext=“select * from student”;SqlCommand cmd=new SqlCommand(commtext);、可以接受一个连接对象和一个命令文本SqlCommand cmd=new SqlCommand(commtext,ConnectionObject);SqlCommand提供了四个执行命令的方法:ExecuteNonQuery:执行不返回

11、结果的命令。通常使用这个方法执行插入、更新或者删除操作。ExecuteScalar:执行返回单个值的命令。ExecuteReader:执行命令并使用结果集填充DataReader对象。ExecuteXmlReader: SqlCommand特有方法。返回一个包含的返回的XML的对象。SqlDataReader类1、功能:该方法执行返回单个值的命令。2、任务演示(Form1):获取数据库中性别为男的学生)3、实现步骤:(1)创建Form1窗口并添加控件ListBox和Button。ListBox属性:SqlDataReader类(2)为解决方案添加ContactDB.cs类代码如下:SqlDat

12、aReader类(3)双击按钮,添加代码如下:button1_click事件代码如下:SqlDataReader类运行结果如下:SqlDataAdqpter和DataSet类一、 SqlDataAdapter类SqlDataAdapter是DataSet和物理数据库之间的桥梁。它主要通过Fill和Update方法实现数据的桥接。1、相关方法Fill:填充数据集DataSet。一般形式: SqlDataAdapter对象名.Fill(数据集)Update:更新物理数据库一般形式: SqlDataAdapter对象名. Update ( )2、相关属性(1)SelectCommand:用于获取或设

13、置查询记录的语句SqlDataAdqpter和DataSet类(2)InsertCommand:用于获取或设置插入记录的语句。(3)DeleteCommand:用于获取或设置删除记录的语句。(4)UpdateCommand:用于获取或设置更新记录的语句。二、DataSet类用于记录内存中的数据。其中至少包含一个非空表(DataTable对象)。若要访问第一个表中的第i行第j列的数据,形式如下:DataSet对象名.Tables0.Rowi.ItemArrayj说明:数据表: DataTableSqlDataAdqpter和DataSet类数据行:DataRow数据列:DataColumn三、使

14、用如上例,采用SqlDataAdapter和DataSet类实现。换用控件DataGridVies完成。步骤如下:1、添加控件DataGridView、Button2、同上述步骤2,添加ContactDB.cs及代码相同代码略。SqlDataAdqpter和DataSet类注意箭头所指代码3、双击按钮,编写Click事件,代码如下:SqlDataAdqpter和DataSet类运行结果如下:第四讲 学生选课系统分析与设计主要内容:1、个人通讯录系统功能介绍(理解)2、二层结构版本介绍(重点掌握)(1)二层结构图(2)建立Contact项目(3)显示联系人信息(4)添加和修改联系人信息(5)删除

15、联系人信息一、个人通讯录系统功能介绍1、系统总体功能个人通讯录查看联系人信息添加新联系人修改新联系人信息删除联系人一、个人通讯录系统功能介绍2、运行效果见演示二、二层结构版本介绍1、二层结构系统图应用程序层数据存储层Contact数据库Contact项目二、二层结构版本介绍2、建立项目,添加必要的控件包括:ListView、Label、TextBox和Button等控件3、为设置控件设置相应的属性4、编写代码:(1)显示联系人信息执行Load事件,在事件中调用getInfo()方法二、二层结构版本介绍getInfo()方法编写顺序:定义命令字符串建立连接对象打开连接建立命令对象建立只读对象循环

16、读取添加到列表控件关闭读操作和连接数据库第六讲 个人通讯录实例(2)主要内容:1、添加、修改和删除命令(理解)2、二层结构版本(重点掌握)(1)添加联系人信息(2)修改联系人信息(3)删除联系人信息二、二层结构版本介绍一、添加联系人信息调用btnAdd_Click()事件调用enableInfo()方法,该方法用于使信息窗口中各控件呈现可用状态修改和删除按钮为不可用逻辑值isAdd置为真定义确定按钮调用addInfo()方法、getInfo()方法、disableInfo()方法定义取消按钮调用disableInfo()方法二、二层结构版本介绍二、修改联系人信息调用btnEdit_Click(

17、)事件判断是否有选中项调用enableInfo()方法定义ListView控件中的项将选中对象的各值取出赋给信息窗口isAdd置为假删除和添加按钮为不可用第六讲 个人通讯录实例(2)三、删除联系人信息调用btnDel_Click()事件调用getSelectID事件:获取选中项的编号判断选中项是否为0定义command对象执行删除操作关闭连接调用getInfo()方法第六讲 个人通讯录实例(2)四、任务小结:Contact项目在二层结构即(应用程序-数据库)实现了对表中数据的添加、修改和删除工作。优点:直观,简捷缺点:所有代码均在一个代码文件下,不利于模块化的实现改正:增加一个数据处理代码。第

18、七讲 三层结构版本主要内容:1、个人通讯录系统功能介绍(理解)2、三层结构版本介绍(重点掌握)(1)三层结构图(2)建立Contact项目(3)显示联系人信息(4)添加和修改联系人信息(5)删除联系人信息第七讲 三层结构版本一、个人通讯录系统功能介绍在前面二层结构基础上,采用流行的三层结构进行设计。三层:1、应用表现层2、业务逻辑层3、数据存储层第七讲 三层结构版本二、三层结构1、表现层:负责显示用户界面,提供应用程序和用户交互的接口;2、业务逻辑层:负责应用程序的业务处理,最典型的就是负责数据访问;3、数据存储层:负责数据的持久化存储,一般通过数据库或者其他文件来实现。第七讲 三层结构版本应

19、用程序层数据存储层Contact数据库Contact项目业务逻辑层ContactDB.cs第七讲 三层结构版本三、任务实现:1、窗口设计与二层结构相同;2、创建ContactDB.cs文件右击鼠标-添加-类-输入文件名-导入命名空间3、显示联系人信息执行Load事件,在事件中调用getInfo()方法第七讲 三层结构版本getInfo()方法编写顺序:定义ContactDB对象调用ContactDB对象的getReader方法建立只读对象循环读取添加到列表控件关闭读操作和连接数据库第七讲 三层结构版本4、编辑ContactDB类定义连接字符串定义getReader方法,步骤如下:。定义命令连接

20、字符串。建立连接对象。打开连接。建立命令对象。建立只读对象第七讲 三层结构版本5、添加联系人信息,调用btnAdd_Click()事件调用enableInfo()方法,该方法用于使信息窗口中各控件呈现可用状态修改和删除按钮为不可用逻辑值isAdd置为真定义确定按钮创建ContactDB对象,由该对象分别调用ContactDB类中的addInfo()和changeInfo()方法第七讲 三层结构版本定义取消按钮调用disableInfo()方法6、在ContactDB类中添加addInfo()、changeInfo()方法第七讲 三层结构版本7、编写修改联系人信息代码,调用btnEdit_Cli

21、ck()事件判断是否有选中项调用enableInfo()方法定义ListView控件中的项将选中对象的各值取出赋给信息窗口isAdd置为假删除和添加按钮为不可用第七讲 三层结构版本8、删除联系人信息,调用btnDel_Click()事件调用getSelectID事件:获取选中项的编号判断选中项是否为0定义ContactDB对象,调用该对象类中的deleteInfo方法调用getInfo()方法第七讲 三层结构版本9、在ContactDB类中添加deleteInfo方法四、任务点评对于三层结构版本,核心是数据访问层中的ContactDB类,它封装了所有对数据库的访问操作,主要表现在以下四个方法中

22、:addInfo、deleteInfo、getReader和changeInfo方法。第八讲 教务管理系统学生端系统管理设计学习内容:1、教务管理系统简介2、系统结构3、数据库设计4、学生端系统概述5、学生端系统管理一、教务管理系统简介1、系统设计目标:开发一个基于桌面的教务管理系统,供系统管理员、教师和学生使用。(1)管理员:可以管理教师和学生的信息;(2)教师:可以开设课程、管理学生的选课信息以及对学生课程进行评分;(3)学生:可以选修课程、报考四六级和计算机等级考试一、教务管理系统简介2、系统总体结构图:教务管理系统系统管理员模块教师模块学生模块二、系统结构应用程序层数据存储层Stude

23、nt数据库Windows Application业务逻辑层DataAccess项目二、系统结构其中:Windows Application项目:由Administrator、Teacher和Student三个项目组成;DataAccess项目:访问SQL数据库;三、数据库设计1、数据库名:Student2、数据表:(1)cet:保存学生四六级报考信息;(2)computer:保存学生计算机等级考试报考信息;(3)course:保存教师开设的课程信息;(4)stuCourse:保存学生选课信息;(5)student:保存学生信息。3、各数据表所包含字段见书137-143四、学生端系统概述1、设计

24、目标:教务管理系统学生端的设计目标是方便学生用户使用。通过该学生端应用程序,学生可以登录进入系统并进行一系列相关操作。2、主要功能模块:(1)系统管理 学生登录:学生用户通过登录窗口进入系统; 学生注销:学生用户完成操作以后可以注销自己的登录行为; 退出系统:所有的操作完成以后直接退出系统。四、学生端系统概述(2)学籍管理 新生注册:最初学生用户应该向系统提交自己的个人信息,即注册。 修改信息:登录以后学生用户可以修改自己的个人信息。(3)课程管理 所有课程列表:显示所有老师开设的所有课程。 我的课程列表:显示当前用户所选修的全部课程。 添加选课:等候老师开设的课程。 删除选课:删除已经选修的课程。四、学生端系统概述(4)四六级管理 报考四六级:添加报考信息。 报考历史:列出历次四六级报考记录。(5)计算机等级考试管理 报考等级考试:添加报考信息。 报考历史:列出历次计算机等级考试报考记录。五、学生端系统管理1、系统管理模块设计主要功能:学生登录:学生用户通过登录窗口进入系统。学生注销:学生用户完成操作以后可以注销自己的登录行为。退出系统:所有的操作完成以后直接退出系统。2、学生登

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论