数据适配器Adapter.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据适配器Adapter和数据集DataSet2ADO.NET对象模型数据库.NETDataProviderConnectionTransactionCommandParametersDataReaderDataAdapterSelectCommandInsertCommandUpdateCommandDeleteCommandDataSetDataTableCollectionDataTableDataRowCollectionDataColumnCollectionConstraintCollectionDataRelationCollectionXML内容DataSetSqlDataAdapterSqlCommandBuilderDataGridView总结DataSet1.DataSet介绍2.DataSet的结构3.DataSet的工作原理4.如何创建DataSet5.如何创建DataTable5为什么使用DataSet对象应用程序大量的数据来自多个数据源大批量的查询、修改数据怎么办?想在断开数据库连接的情况下操所数据怎么办?使用DataSet对象DataSet数据库数据集DataSetDataSet是ADO.NET开发人员为方便数据处理开发出来的,是数据的集合,是为解决DataReader的缺陷设计的DataReader数据处理速度快,但它是只读的,而且一旦移到下一行,就不能查看上一行的数据,DataSet则可以自由移动指针。DataSet的数据存放在内存,与服务器数据库断开的。数据集充当包含表、行和列的虚拟数据库7什么是DataSet对象DataSet数据集简单理解为一个临时数据库将数据源的数据保存在内存中独立于任何数据库工厂的仓库车间的临时仓库生产线数据源DataSet应用程序驻留于内存,临时存储数据类似的关系数据集的结构9DataSet的结构2-1DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection数据集数据表的集合数据表数据列的集合数据行的集合数据列数据行DataSet的结构2-2GradeTableClassTableStudentTableidnameclasssex1小菲5女2小薇3女3小强6男DataTableCollection数据表集合DataTable数据表DataRowCollection数据行集合DataRow数据行DataColumnCollection数据列集合DataColumn数据列DataSet层次模型11DataSet是存储从数据库检索到的数据的对象是零个或多个表对象的集合,这些表对象由数据行和列、约束和有关表中数据关系的信息组成不直接与数据库交互既可容纳数据库的数据,也可以容纳非数据库的数据源DataSet类的层次结构DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection12数据集的工作原理数据集发送数据修改数据集传递数据提交修改后的数据请求数据客户端DataSet层次结构中的类类说明DataTableCollection包含特定数据集的所有DataTable对象DataTable表示数据集中的一个表DataColumnCollection表示DataTable对象的结构DataRowCollection表示DataTable对象中的实际数据行DataColumn表示DataTable对象中列的结构DataRow表示DataTable对象中的一个数据行DataSet层次结构中的类14如何创建DataSet对象创建一个DataSet可以指定一个数据集的名称如果不指定名称,则默认被设为NewDataSetDataSetdataSet=newDataSet();DataSetdataSet=newDataSet(MySchool);DataSet数据集对象=newDataSet(数据集的名称字符串);可选的如何创建DataTable//创建一个DataTable的一个实例。DataTabledt=newDataTable(学生表);//声明列对象和行对象。DataColumncolumn;column=newDataColumn();//设置列的数据类型column.DataType=System.Type.GetType(System.Int32);column.ColumnName=学生编号;column.Unique=true;//向DataTable添加该列dt.Columns.Add(column);如何向DataTable里面添加数据DataTable对象还具有允许行在数据集中被访问的Rows集合。下表描述了通过使用DataRow对象对行执行的各种方法:Add()InsertAt()Find()Select()Remove()如何向DataTable里面添加数据row=dt.NewRow();//建立一个新行//为新建立的行添加数据row[学生编号]=Convert.ToInt32(txtID.Text.ToString());row[学生姓名]=txtName.Text;//为该表添加指定的行dt.Rows.Add(row);//绑定数据为DataGridViewdataGridView1.DataSource=dt;dataGridView1.Refresh();18为什么使用DataAdapter如何将数据库的数据放在DataSet中?DataSet数据集数据库DataSet数据集Connection数据库连接DataAdapter数据适配器数据库DataAdapter对象不同命名空间的DataAdapter对象命名空间对应的DataAdapter对象System.Data.SqlClientSqlDataAdapterSystem.Data.OleDbOleDbDataAdapterSystem.Data.OdbcOdbcDataAdapterSystem.Data.OracleClientOracleDataAdapterSqlDataAdapter1.SqlDataAdapter介绍2.在代码中创建SqlDataAdapter对象3.SqlDataAdapter对象的方法介绍4.SqlDataAdapter对象的属性5.SqlDataAdapter总结ADO.NET断开连接的模型。模型的基本介绍以及讲解DataSet导学1.DataAdapter简介DataAdapter的基本概念及分类。概念分类ADO.NET访问模型ADO.NET提供了以下两种数据访问模型连接的模型。本模型使用户能使用数据提供程序连接到数据库并对数据库运行SQL命令,命令运行结束后将关闭和数据库之间的连接。断开连接的模型。本模型使得可以为来自数据源的数据创建内存中的缓存,然后与数据源之间断开连接。ADO.NET断开连接的模型(图)在ADO.NET中,DataSet是数据在内存中的表示形式,它提供了独立于数据源的关系编程模型。数据库与数据集之间起桥梁作用DataAdapter的基本概念DataAdapter是和数据集(DataSet)一起使用的对象,它包括在一个数据库连接后用于填充数据集和更新数据源的一组数据命令,在数据库与数据集之间起桥梁作用。DataAdapter的作用相当于绑定的DataSet对象和持久的数据存储(数据库)之间的通道。上面讲的数据存储可以是数据库、XML文件、Excel、甚至是纯文本。DataAdapter是专门为处理脱机数据而设计的。DataAdapter的分类根据数据库的不同,将DataAdapter分类。SqlDataAdapter:不经过OLEDB层直接与SQLServer交互,速度较OleDbDataAdapter快。OleDbDataAdapter:适用于任何可以用OLEDB数据提供者访问的数据源。OdbcDataAdapter:访问来自ODBC数据提供器支持的数据库的数据OracleDataAdapter:访问来自Oracle数据提供器支持的数据库的数据SqlDataAdapter是DataSet和SQLServer之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射Fill和Update来提供这一桥接。XxxDataAdapter对象模型四种数据命令对数据库进行读写。•DataAdapter构造函数•用DataAdapter填充结果集•打开和关闭连接•读取多个表•串讲数据绑定2.在代码中创建DataAdapter对象在代码中创建DataAdapter对象了解DataAdapter的几种构造函数,可以简化创建DataAdapter对象的过程。stringstrConn=@DataSource=LENOVO-PC;InitialCatalog=Student;IntegratedSecurity=TruestringstrSQL=“select*fromsc;用查询串和连接字符串SqlDataAdapterda=newSqlDataAdapter(strSQL,strConn);该方式会为每个SqlDataAdapter创建一个新的SQLconnection对象,应适当选择。用查询串和连接对象SQLconnectioncn=newsqlConnection(strConn);SqlDataAdapterda=newSqlDataAdapter(strSQL,cn);比较常用的方式使用sqlcommand对象SQLCOMMANDcmd=newsqlcommand(strSQL,CN);SqlDataAdapterda=newSqlDataAdapter(cmd);已存在一个sqlcommand对象时使用在这一部分我们重点学习一下Fill和Update方法。DataAdapter有两个重要的方法:Fill()和Update()。前者从数据源把数据加载至DataSet,后者把数据从DataSet传回数据源。3.DataAdapter的方法DataAdapter——Fill方法Fill方法一共有4种常用的重构方法。Fill(DataSet)•DataSet结果集Fill(DataTable)•DataTable对象Fill(Int32,Int32,paramsDataTable[])•开始记录索引•要填充的数据表的行数•DataTable对象Fill(DataSet,Int32,Int32,String)•DataSet结果集对象•开始记录的索引•要填充的数据集的行数•表名DataAdapter——Update方法重点代码演示:填充DataSet时的代码:adapter.SelectCommand=newSqlCommand(SELECT*FROM”+”STUDENT,conn);adapter.Fill(ds);dataGridView1.DataSource=ds.Tables[0];dataGridView1.Refresh();更新时的代码:adapter.Update(ds);MessageBox.Show(更新成功);Dataset与datagridUpdateFill数据绑定数据库DataSet对象Datagrid对象数据显示层ADO应用层后台数据库服务层层应用程序DataAdapter对象Connection对象Command对象DataAdapter——利用Fill方法进行分页见课堂代码示例(Fill方法进行分页)代码提示:利用Fill的第四个构造函数Fill(DataSet,StartPageIndex,PageSize,St

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功