- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库参考文件
为什么使用 DataAdapter 如何将数据库的数据放在 DataSet 中? 为什么使用 DataSet 对象 大批量的查询、修改数据怎么办? 想在断开数据库连接的情况下操作数据怎么办? 什么是 DataSet 对象 DataSet 数据集 简单理解为一个临时数据库 将数据源的数据保存在内存中 独立于任何数据库 DataSet 的结构 DataSet 的结构 如何创建 DataSet 对象 创建一个 DataSet 如何填充数据集 使用 DataAdapter 对象填充数据集 填充数据集 如何保存 DataSet 中的数据 把数据集中修改过的数据提交到数据源 为了帮助学员理解,以三个具体的表来进一步解释DataSet的结构。 这里指讲解最简单的Update一个表,通过SqlCommandBuilder对象来自动生成更新要的相关命令,不用手动一个一个的写,简化操作。 DataSet对象常和DataAdapter对象配合使用。通过 DataAdapter对象,向DataSet中填充数据的一般过程是: (1)创建DataAdapter和DataSet对象。 (2)使用DataAdapter对象,为DataSet产生一个或多个DataTable对象。 (3)DataAdapter对象将从数据源中取出的数据填充到DataTable中的 DataRow对象里,然后将该DataRow对象追加到DataTable对象的Rows 集合中。 (4)重复第(2)步,直到数据源中所有数据都已填充到DataTable里。 (5)将第(2)步产生的DataTable对象加入DataSet里。 而使用DataSet,将程序里修改后的数据更新到数据源的过程是: (1)创建待操作DataSet对象的副本,以免因误操作而造成数据损坏。 (2)对DataSet的数据行(如DataTable里的DataRow对象)进行插入、删除或更改操作,此时的操作不能影响到数据库中。 (3)调用DataAdapter的Update方法,把DataSet中修改的数据更新到数据源中。 ADO.NET连接数据源机制是:首先通过数据提供程序中的Connection对象连接数据源,然后由DataAdapter对象用数据库的数据填充数据集,并通过Command和DataReader对象对数据集中的数据进行各种操作,最后把对数据源数据的更新返回数据源,如图1所示。这种连接机制可以避免多重写入和多重读出。 可见数据集是通过无关联对象访问数据库信息的,实现了连接对象与数据对象的相对独立。数据集的缺点是要求高速缓存大量的数据,如当需要将表中的所有数据送入数据集时。 OLE DB数据提供程序位于System.Data.OleDb空间, SQL Server 数据提供程序位于System.Data.SqlClient命名 空间。 目前,ADO.NET主要提供两种数据提供程序(Data Provider):SQL Server Data Provider和OLE DB Data Provider。 SQL Server.NET Framework数据提供程序使用它自身的协议与SQL Server数据库服务器通信。 OLEDB.NET Framework则通过OLE DB服务组件(提供连接池和事务 服务)和数据源的OLE DB提供程序与OLE DB数据源进行通信。 State属性一般是只读不写的,以下代码演示了使用State属性管理控 制数据连接的方式。 //设置连接对象 SqlConnection conn; //如果是空闲状态,连接数据库 if(conn.State == ConnectionState.Closed) { conn.Open(); } //访问数据库的代码 …… //最后关闭连接 if(conn.State == ConnectionState.Open) { conn.Close(); } Provider值 对应连接的数据源 SQL OLE DB Microsoft OLEDB Provider for SQL Server MSDASQL Microsoft OLEDB Provider for ODBC Microsoft. Jet. OLEDB.4.0 Microsoft OLEDB Provider for Access MSDAORA Microsoft OLEDB Provider for Oracle 显然使用第2种方法输入的代码要少一点,但是两种方法执行的效率并 没有什么不同,另外,如果需要重用Connection对象去使用不同的身份连 接不同的数据库时,使用第一种方法则非常有效。
文档评论(0)