数据适配器adapter

上传人:wt****50 文档编号:49288062 上传时间:2018-07-26 格式:PPT 页数:33 大小:1.11MB
返回 下载 相关 举报
数据适配器adapter_第1页
第1页 / 共33页
数据适配器adapter_第2页
第2页 / 共33页
数据适配器adapter_第3页
第3页 / 共33页
数据适配器adapter_第4页
第4页 / 共33页
数据适配器adapter_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数据适配器adapter》由会员分享,可在线阅读,更多相关《数据适配器adapter(33页珍藏版)》请在金锄头文库上搜索。

1、第五章 数据适配器Adapter学习目标5.4.3.2.1.DataAdapter介绍在代码中创建DataAdapter对象DataAdapter对象的属性介绍DataAdapter对象的方法介绍DataAdapter对象的事件ADO.NET 断开连接 的模型。模型的基本介绍以及 讲解DataSet导学第一部分:DataAdapter简介DataAdapter的基 本概念及分类。概念分类ADO.NET 断开连接的模型vADO.NET提供了以下两种数据访问模型 连接的模型。本模型使用户能使用数据提供程序连接到数据 库并对数据库运行SQL命令,命令运行结束后将关闭和数据 库之间的连接。 断开连接的

2、模型。本模型使得可以为来自数据源的数据创建 内存中的缓存,然后与数据源之间断开连接。 ADO.NET 断开连接的模型(图)在ADO.NET中, DataSet是数据在内存中的表示形式, 它提供了独立于数据源的关系编程模型。数据库与数据集 之间起桥梁作用DataAdapter的基本概念v DataAdapter是和数据集(DataSet)一起使用的对象, 它包括在一个数据库连接后用于填充数据集和更新数据源 的一组数据命令,在数据库与数据集之间起桥梁作用。 v DataAdapter的作用相当于绑定的DataSet对象和持久的 数据存储之间的通道。 v 上面讲的数据存储可以是数据库、XML文件、E

3、xcel、甚 至是纯文本。 v DataAdapter是专门为处理脱机数据而设计的。DataAdapter的分类v根据数据库的不同,将DataAdapter分类。 SqlDataAdapter:不经过OLEDB层直接与SQLServer 交互,速度较OleDbDataAdapter快。 OleDbDataAdapter:适用于任何可以用OLEDB数据提 供者访问的数据源。 OdbcDataAdapter OracleDataAdapterOLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。 OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC) 的结构

4、化查询语言(SQL)能力, 还具有面向其他非SQL数据类型的通路。 作为微软的组件对象模型(COM)的一种设计, OLE DB是一组读写数据的方法(在过去可能被称为渠道)。 什么是OLEDB?XxxDataAdapter对象模型四种数据命令对 数据库进行读写。DataAdapter构造函数用DataAdapter填充结果集打开和关闭连接读取多个表第二部分:在代码中创建DataAdapter对象在代码中创建DataAdapter对象v 了解DataAdapter的几种构造函数,可以简化创建DataAdapter对象 的过程。 v 下面举无参构造函数和参数为SqlCommand对象的构造函数的例子

5、 。 无参构造函数的例子:SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(strSql, con);DataSet ds = new DataSet();/填充DataSetint iCount = da.Fill(ds);/为为dataGridView1绑绑定数据dataGridView1.DataSource = ds.Tables0;/刷新dataGridView1.Refresh();参数为SqlCommand对象的构造函数的例子:SqlCommand cmd = new SqlCo

6、mmand(strSql, con);SqlDataAdapter da = new SqlDataAdapter(cmd);DataSet ds = new DataSet();int iCount = da.Fill(ds);dataGridView1.DataSource = ds.Tables0;dataGridView1.Refresh();注意参数第二部分课堂作业v利用构造函数为SQL与stringConnection实现课堂演 示例子的相同功能。v利用构造函数为SQL与SqlConnection对象实现课堂 演示例子的相同功能。用来控制数据阅读或 插入、修改、删除或 更新的属性。

7、第三部分:DataAdapter的属性用来控制与数据集 之间通信的属性。DataAdapter的属性属性描述 SelectCommand在数据源中检索数据的数据命令 InsertCommand在数据源中插入数据的数据命令 UpdateCommand在数据源中更新数据的数据命令 DeleteCommand在数据源中删除数据的数据命令 TableMappingsDataTableMapping 对象的集合,决定DataSet中的行与数据源之间的 关系DataAdapterSelectCommand、InsertCommand、UpdateCommand、DeleteCommand的应用v 下面的代

8、码演示了这四个属性中的SelectCommand属性 的应用。SqlDataAdapter adapter = new SqlDataAdapter();SqlCommand command = new SqlCommand(“SELECT * FROM STUDENT “ +“WHERE SAGE = SAGE“, connection);command.Parameters.Add(“SAGE“,SqlDbType.Int); command.Parameters0.Value = age;adapter.SelectCommand = command;DataAdapterTableMa

9、ppings属性的应用v重点代码演示:SqlDataAdapter adapter = CreateDataAdapter(conn, age); DataSet ds = new DataSet();/Mappings的用法 DataTableMapping mapping = adapter.TableMappings.Add(“Table“, “学生表“); mapping.ColumnMappings.Add(“SNO“, “学生编编号“); mapping.ColumnMappings.Add(“SName“, “学生姓名“); mapping.ColumnMappings.Add(

10、“SDept“, “所在院系“); mapping.ColumnMappings.Add(“SClass“, “所在班级级“); mapping.ColumnMappings.Add(“SSex“, “性别别“); mapping.ColumnMappings.Add(“SAge“, “年龄龄“);adapter.Fill(ds);dataGridView1.DataSource = ds.Tables“学生表“;/使用设设置好的映射表名字。 dataGridView1.Refresh();在这一部分我们重点学习一下Fill和Update 方法。DataAdapter有两个重要的方法:Fill

11、()和 Update() 。前者从数据源把数据加载至 DataSet,后者把数据从DataSet传回数据 源。第四部分:DataAdapter的方法如何填充数据集v 使用 DataAdapter 对象填充数据集DataSetDataSet 数据集数据集使用 Fill() 方法填充 DataSet 中的表使用 Connection 连接数据源Connection数数 据据 库库DataAdapter 的 Fill() 方法填充数据集SqlDataAdapter 对象名 = new SqlDataAdapter(查询用sql语句, 数据库连接);创建 SqlDataAdapter 对象1DataA

12、dapter对象. Fill(数据集对象, “数据表名称字符串“);填充 DataSet2DataAdapterFill方法v Fill方法一共有4种常用的重构方法。 Fill(DataSet) DataSet结果集 Fill(DataTable) DataTable对象 Fill(Int32,Int32,params DataTable) 开始记录索引 要填充的数据表的行数 DataTable对象 Fill(DataSet, Int32,Int32,String) DataSet结果集对象 开始记录的索引 要填充的数据集的行数 表名DataAdapter利用Fill方法进行分页v见课堂代码示

13、例(Fill方法进行分页)代码提示:利用Fill的第四个构造函数Fill(DataSet, StartPageIndex, PageSize, String)如何保存 DataSet 中的数据v 把数据集中修改过的数据提交到数据源DataSetDataSet 数据集数据集数数 据据 库库dataAdapter.Update(dataSet,“student“);DataAdapter 的 Update() 方法调用前,要先设置更新需要的相关命令 可以使用 SqlCommandBuilder 对象ConnectionSqlCommandBuilder 对象v利用 SqlCommandBuilde

14、r 对象能够自动生 成: INSERT 命令 UPDATE 命令 DELETE 命令SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);保存 DataSet 中的数据自动生成用于更新的相关命令1将 DataSet 的数据提交到数据源2SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,“student“);v步骤:SqlCommandBuilder builder = new Sq

15、lCommandBuilder(已创建的DataAdapter对象);DataAdapter对象. Update(数据集对象, “数据表名称字符串“);DataAdapter 对象小结vDataAdapter 的主要属性和方法属性说明SelectCommand 从数据库检索数据的 Command 对象方法说明Fill 向 DataSet 中的表填充数据Update将 DataSet 中的数据提交到数据库DataAdapterUpdate方法v 重点代码演示:填充DataSet时的代码:adapter.SelectCommand = new SqlCommand(“SELECT * FROM”

16、+” STUDENT“, conn);SqlCommandBuilder builder = new SqlCommandBuilder(adapter);adapter.Fill(ds);dataGridView1.DataSource = ds.Tables0;dataGridView1.Refresh();更新时的代码:adapter.Update(ds);MessageBox.Show(“更新成功“);DataAdapter对象的事件列表:Disposed:当调用Dispose释放组件的时候调用。 FillError:在填充操作过程中出现错误时返回。 RowUpdated:在对数据源执行命令后的Update过程中发生,试图进行更新,因此 激发该事件。 RowUpdating:在对数据源执行命令前的Update过程中发生,试图进行更新,因 此激发该事件。第五部分:DataAdapter的事件DataAdapter的事件

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

当前位置:首页 > 机械/制造/汽车 > 机械理论及资料

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