您好,欢迎访问三七文档
数据库与网络编程C#与SQL、ACCESS初步认识认识ADO.NET试试动手进入实战连接数据库访问数据库前言1、总学时64学时2、教材:VisualC#2008数据库编程实训教程(新世纪高职高专课程与实训系列教材)辅助教材:《C#网络应用开发例学与实践》清华大学出版社3、学习目标----能完成采用C#编写应用程序实现对数据库的访问4、学习要求----强化动手能力、调试能力、编程能力的训练第一讲使用ADO.NET访问数据库一、主要内容:1、ADO.NET对象模型概述2、主要数据对象应用举例二、目的及要求1、掌握ADO.NET结构组及其关系2、掌握数据提供程序及各部分作用一、ADO.NET对象模型概述ADO.NET是.NET提供的、为访问各种数据源提供统一接口和方法的类。ADO.NET包括两大部分:数据提供程序和数据集(DataSet)。数据提供程序负责与物理数据库的连接,数据集代表的数据。1、.NET数据提供程序根据将要访问的数据库类型,.NET框架提供了不同的数据提供程序(1)SQLServer.NET数据提供程序用以访问SQLServer数据库(2)OLEDB.NET数据提供程序用以访问任何与OLEDB兼容的数据库一、ADO.NET对象模型概述每个数据提供程序都实现了以下的类,构成了提供程序的核心对象:Connection建立对物理数据库的连接Command用于执行数据库操作命令DataReader用于访问一个只读、向前的数据流DataAdapter用以负责数据集同物理数据源的通信一、ADO.NET对象模型概述不同数据提供程序的核心对象命名不同,但内容几乎一样:核心对象OLEDB.NETSQLServer.NETConnectionOleDbConnectionSqlConnectionCommandOleDbCommandSqlCommandDataReaderOleDbDataReaderSqlDataReaderDataAdapterOleDbDataAdapterSqlDataAdapter一、ADO.NET对象模型概述2.ADO.NET对象模型如下图所示:数据提供序ConnectionDataAdapterCommandDataReaderDataSet应用程序ADO.NET数据库一、ADO.NET对象模型概述另外,不同的数据提供程序所在的名字空间也不一样,如:OLEDB.NETSystem.Data.OleDbSQLServer.NETSystem.Data.SqlClient数据集(DataSet)------记录在内存中的数据,类似一个简化的关系数据库,包含表及表之间的关系。二、主要数据对象应用举例示例:编写一个C#应用程序来访问SQL数据库,读取学生信息表中的学生信息,并显示出来。学生信息表是在Access、SQL中已建立好的。见示例GetStudents方法一:Access数据库的访问方法二:采用Sql为后台数据库在此,只列出不同的代码三、小结从上面的分析中可以看出,通过ADO.NET访问数据库的一般步骤如下:(1)建立数据库连接对象(Connection对象);(2)打开数据库连接(Connection对象的Open方法);(3)建立数据库命令对象,指定命令对象所使用的连接对象(Command对象);(4)指定命令对象的命令属性(CommandText对象的属性);(5)执行命令(Command对象的方法,例如ExecuteReader方法)(6)操作返回结果(SqlDataReader对象或者其他对象)(7)关闭数据库连接。第二讲数据连接一、主要内容:1、连接SQL数据源2、连接OLEDB数据源二、目的及要求1、掌握Sql连接数据源的方法2、掌握OLEDB连接数据源的方法一、连接SQL数据源1、SqlConnection类(1)命名空间usingSystem.Data.SqlClient;(2)定义usingSystem.Data.SqlClient;SqlConnectionconn=newSqlConnection();(3)SqlConnection类的方法Open()、Close();如:conn.Open()一、连接SQL数据源2、SQL的连接字符串包含一个由一些“属性名/值”对组成的集合。每一个“属性名/值”对都由分号隔开。如:“server=(local);database=Students;IntegratedSecurity=SSPI;windows身份验证方式若采用SQL验证方式:UserId=用户名;password=用户密码。一、连接SQL数据源3、SqlConnection的方法Open()和Close()4、任务:编写应用程序访问student数据库。二、连接OLEDB数据源1、任务演示:(略)2、OLEDB.NET数据提供程序usingSystem.Data.OleDb;3、新建对象OleDbConnectionconn=newOleDbConnection();二、连接OLEDB数据源4、设置连接字符串stringconnstr=“provider=microsoft.jet.oledb.4.0;datasource=;connstr+=@Data\Student.mdb;第三讲数据命令一、主要内容:1、ExecuteScalar方法2、ExecuteNonQuery方法二、目的及要求1、掌握返回单个值的命令。2、掌握数据更新。三、数据操作相关类引言:建立了数据库的连接之后,就可以对数据库进行操作了,包括创建、读取、更新和删除。和连接对象类似,在.NET中存在SqlCommand和OleDbCommand。区别:OleDbCommand类没有ExecuteXmlReader方法之外,其余基本相同数据命令的常用属性:CommandText获取或设置要对数据源执行的T-SQL语句或存储过程CommandType获取或设置一个值,该值指示如何解释CommandText属性Connection数据命令对象所使用的连接对象Parameters参数集合例如:cmd.Connection=ConnectionObject;cmd.CommandText=commtext;创建命令对象的构造函数形式共有4种,请大家掌握3种:Ⅰ、不带任何参数SqlCommandcmd=newSqlCommand();Ⅱ、可以接受一个命令文本stringcommtext=“select*fromstudent”;SqlCommandcmd=newSqlCommand(commtext);Ⅲ、可以接受一个连接对象和一个命令文本SqlCommandcmd=newSqlCommand(commtext,ConnectionObject);SqlCommand提供了四个执行命令的方法:ExecuteNonQuery:执行不返回结果的命令。通常使用这个方法执行插入、更新或者删除操作。ExecuteScalar:执行返回单个值的命令。ExecuteReader:执行命令并使用结果集填充DataReader对象。ExecuteXmlReader:SqlCommand特有方法。返回一个包含的返回的XML的对象。SqlDataReader类1、功能:该方法执行返回单个值的命令。2、任务演示(Form1):获取数据库中性别为男的学生)3、实现步骤:(1)创建Form1窗口并添加控件ListBox和Button。ListBox属性:SqlDataReader类(2)为解决方案添加ContactDB.cs类代码如下:SqlDataReader类(3)双击按钮,添加代码如下:button1_click事件代码如下:SqlDataReader类运行结果如下:SqlDataAdqpter和DataSet类一、SqlDataAdapter类SqlDataAdapter是DataSet和物理数据库之间的桥梁。它主要通过Fill和Update方法实现数据的桥接。1、相关方法Fill:填充数据集DataSet。一般形式:SqlDataAdapter对象名.Fill(数据集)Update:更新物理数据库一般形式:SqlDataAdapter对象名.Update()2、相关属性(1)SelectCommand:用于获取或设置查询记录的语句SqlDataAdqpter和DataSet类(2)InsertCommand:用于获取或设置插入记录的语句。(3)DeleteCommand:用于获取或设置删除记录的语句。(4)UpdateCommand:用于获取或设置更新记录的语句。二、DataSet类用于记录内存中的数据。其中至少包含一个非空表(DataTable对象)。若要访问第一个表中的第i行第j列的数据,形式如下:DataSet对象名.Tables[0].Row[i].ItemArray[j]说明:数据表:DataTableSqlDataAdqpter和DataSet类数据行:DataRow数据列:DataColumn三、使用如上例,采用SqlDataAdapter和DataSet类实现。换用控件DataGridVies完成。步骤如下:1、添加控件DataGridView、Button2、同上述步骤2,添加ContactDB.cs及代码相同代码略。SqlDataAdqpter和DataSet类注意箭头所指代码3、双击按钮,编写Click事件,代码如下:SqlDataAdqpter和DataSet类运行结果如下:第四讲学生选课系统分析与设计主要内容:1、个人通讯录系统功能介绍(理解)2、二层结构版本介绍(重点掌握)(1)二层结构图(2)建立Contact项目(3)显示联系人信息(4)添加和修改联系人信息(5)删除联系人信息一、个人通讯录系统功能介绍1、系统总体功能个人通讯录查看联系人信息添加新联系人修改新联系人信息删除联系人一、个人通讯录系统功能介绍2、运行效果见演示二、二层结构版本介绍1、二层结构系统图应用程序层数据存储层Contact数据库Contact项目二、二层结构版本介绍2、建立项目,添加必要的控件包括:ListView、Label、TextBox和Button等控件3、为设置控件设置相应的属性4、编写代码:(1)显示联系人信息执行Load事件,在事件中调用getInfo()方法二、二层结构版本介绍getInfo()方法编写顺序:①定义命令字符串②建立连接对象③打开连接④建立命令对象⑤建立只读对象⑥循环读取⑦添加到列表控件⑧关闭读操作和连接数据库第六讲个人通讯录实例(2)主要内容:1、添加、修改和删除命令(理解)2、二层结构版本(重点掌握)(1)添加联系人信息(2)修改联系人信息(3)删除联系人信息二、二层结构版本介绍一、添加联系人信息调用btnAdd_Click()事件①调用enableInfo()方法,该方法用于使信息窗口中各控件呈现可用状态②修改和删除按钮为不可用③逻辑值isAdd置为真④定义确定按钮调用addInfo()方法、getInfo()方法、disableInfo()方法⑤定义取消按钮调用disableInfo()方法二、二层结构版本介绍二、修改联系人信息调用btnEdit_Click()事件①判断是否有选中项②调用enableInfo()方法③定义ListView控件中的项④将选中对象的各值取出赋给信息窗口⑤isAdd置为假⑥删除和添加按钮为不可用第六讲个人通讯录实例(2)三、删除联系人信息调用btnDel_Click()事件①调用getSelectID事件:获取选中项的编号②判断选中项是否为0③定义command对象执行删除操作④关闭连接⑤调用getInfo()方法第六讲个人通讯录实例(2)四、任务小结:Contact项目在二层结构即(应用程序-------数据库)实现了对表中数据的添加、修改和删除工作。优点:直观,简捷缺点:所有代码均在一个代码文件下,不利于模块化的实现改正:增加一个数据处理代码。第七讲
本文标题:数据库与网络编程
链接地址:https://www.777doc.com/doc-6471935 .html