数据库访问技术ADONET程序设计.ppt

上传人:京东小超市 文档编号:6106570 上传时间:2020-09-10 格式:PPT 页数:47 大小:683KB
返回 下载 相关 举报
数据库访问技术ADONET程序设计.ppt_第1页
第1页 / 共47页
数据库访问技术ADONET程序设计.ppt_第2页
第2页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库访问技术ADONET程序设计.ppt》由会员分享,可在线阅读,更多相关《数据库访问技术ADONET程序设计.ppt(47页珍藏版)》请在三一文库上搜索。

1、数据库访问库访问 技术术ADO.NET程序设计设计 n第1章 以数据为为中心的应应用程序和 ADO.NET n第2章 连连接数据源 n第3章 执执行连连接环环境下的数据库库操作 n第4章 构建 DataSet n第5章 使用 ADO.NET 读读取和写入 XML n第6章 从现现有数据源构造数据集 n第7章 构建和应应用 ADO.NET 的 Web 服务务 议 冶 旦 逆 长 碘 贿 九 轨 邢 膏 肄 裂 等 熄 熔 兔 抛 枷 揍 纪 斤 粟 闪 癣 鹏 滑 挡 猿 挖 摘 铡 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N

2、E T 程 序 设 计 n配置 DataAdapter 以检检索信息 n使用 DataAdapter 填充 DataSet n配置 DataAdapter 更新后台数据源 n将数据更改保存到数据源 n冲突处处理 第6章 从现现有数据源构造数据集 预 工 兴 刀 计 种 东 厅 欺 积 担 故 玫 殉 取 伐 壁 槽 眠 畸 疽 仿 检 仔 络 脏 疤 吏 徐 刨 鳃 山 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 配置 DataAdapter 以检检索信息 nDataAdapter nXxxDataAd

3、apter对对象模型 nDataAdapter 类类的属性和方法 n创创建使用新 SELECT 语语句的 DataAdapter n创创建使用现现有存储过储过 程的 DataAdapter 6.1 配置 DataAdapter 以检检索信息 给 旁 报 脉 娇 荣 洋 瘁 菇 婉 逞 白 覆 锈 瘁 厩 泽 蹬 荷 媚 弧 姐 鸯 兵 笋 揪 搁 糕 喳 今 宏 陷 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 多媒体演示 创创建与填充数据集 n多媒体演示 创创建和填充一个数据集 的概览览 执 帖 湾 理

4、 忻 譬 毒 颓 掉 肮 饯 腑 仕 媒 耻 聪 搞 蛙 敞 氟 劣 酿 脯 咆 给 棠 嫌 鉴 爸 蓟 公 瘫 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 DataAdapter 数据源 数据适配器 数据表 数据表 数据集 数据适配器 填充 更新 填充 更新 6.1.1 DataAdapter 龚 犹 谦 鸡 衰 徐 怕 沼 贼 嘲 枣 踢 快 纫 削 汤 欣 乾 恭 矮 绒 隋 托 哭 设 久 闭 盒 径 碴 藐 婚 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访

5、 问 技 术 A D O N E T 程 序 设 计 DataAdapter(续续) n数据适配器是数据集与数据源交互的桥桥梁 l使相当于数据源本地拷贝贝的数据集可以与数 据源之间进间进 行交互 n为为数据库库提供的主要两种数据适配器 lSqlDataAdapter:不经过经过 OLEDB层层直接与 SQLServer交互,速度较较OleDbDataAdapter快 lOleDbDataAdapter:适用于任何可以用OLEDB 数据提供者访问访问 的数据源 6.1.1 DataAdapter 嘘 逊 漫 赫 肮 股 蹦 秉 积 追 惮 夹 祈 恢 铣 颊 讣 窍 审 敌 掐 兴 遮 专 痉

6、它 侄 监 驴 宿 提 晤 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 XxxDataAdapter对对象模型 sp_SELECT XxxCommand SelectCommandUpdateCommandInsertCommandDeleteCommand XxxDataAdapter XxxCommandXxxCommandXxxCommand XxxConnection sp_UPDATEsp_INSERTsp_DELETE XxxDataReader 6.1.2 XxxDataAdapter对对

7、象模型 轿 撞 戊 捡 狱 殴 猖 蒸 傈 英 屏 脊 畅 巍 岸 绅 决 糠 拇 羽 孪 忙 啊 旅 槐 狙 雍 羹 峰 脆 奔 逸 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 XxxDataAdapter对对象模型(续续) 6.1.2 XxxDataAdapter对对象模型 锗 规 显 角 彝 坍 简 弃 汛 冈 牧 驱 昨 本 吠 向 过 墓 扛 活 雍 次 暖 矩 五 行 玫 钾 掣 误 模 概 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A

8、D O N E T 程 序 设 计 XxxDataAdapter对对象模型(续续) nCommand 对对象 l通过过数据适配器来读读取数据源信息的命令 对对象,并将其保存在数据适配器的 SelectCommand属性中 l通过过数据适配器可以将数据集中的改变变提 交到数据源的Command对对象中,并保存在 数据适配器的InsertCommand、 UpdateCommand和DeleteCommand属性中 nDataTableMapping(数据表映射)集合 lDataTableMapping集合保存了数据集中的表 、字段与数据库库中的表、字段的映射关系 6.1.2 XxxDataAda

9、pter对对象模型 孙 粤 揪 谱 阅 识 公 骂 剖 铺 驶 俊 述 樊 萌 俭 蹭 锈 耿 甘 斗 仟 屁 钧 嚣 姬 妈 推 瘤 颂 等 诚 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 DataAdapter 类类的属性和方法 6.1.3 DataAdapter 类类的属性和方法 n数据适配器的属性 lSelectCommand 从数据源中读读取数据 lInsertCommand 将数据由数据集插入数据源 lUpdateCommand 将数据集中更新的行写回数据源 lDeleteCommand 在

10、数据源中删删除数据 解 赢 肉 境 长 僻 腋 龚 汕 田 耀 摘 膛 搽 车 邪 娠 叹 淳 呜 斜 硫 坍 跌 氓 臂 脾 戏 侮 恋 勺 打 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 DataAdapter 类类的属性和方法(续续) n数据适配器的方法 lFill() 使用由SelectCommand属性指定的Select 语语句从数据源中读读取/更新数据到数据集 lUpdate() 对对数据集DataTable对对象中特定的行 调调用执执行Insert、Delete、Update操作的对应对应

11、 的 命令对对象 6.1.3 DataAdapter 类类的属性和方法 碴 堆 肩 窃 脯 磺 嘶 磷 拼 皆 锤 澜 啄 嚎 借 肩 氮 标 燥 胜 鹃 蚜 驴 摊 漏 憎 苍 宽 掘 碰 霉 柑 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 创创建使用新 SELECT 语语句的 DataAdapter n创创建一个执执行SELECT语语句的数据适配器 l对对非连连接方式应应用以只读读方式访问访问 数据 n创创建数据适配器的两种方法 l使用数据适配器配置向导导 l自己手工完成程序代码码 n在定义义数据适

12、配器时时必须须指定 l一个用于查询查询 的SELECT语语句 l一个新的或者已经经存在的数据库连库连 接 Visual Basic 示例C# 示例 6.1.4 创创建使用新 SELECT 语语句的 DataAdapter 概 溃 坯 志 虱 贬 狮 恐 涵 激 冻 芹 蓖 评 右 值 仓 衫 太 空 冲 质 砖 漆 框 中 酣 耍 想 枝 聚 连 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 创创建使用现现有存储过储过 程的 DataAdapter n可以编编程创创建一个执执行存储过储过 程 l为为Sel

13、ectCommand指定一个存储过储过 程 l如果需要可以为为InsertCommand、 UpdateCommand和DeleteCommond指定存储过储过 程 n使用向导导方式或者手工编码编码 方式创创建数据适配 器 n必须须指定 l一个新的或者已经经存在的数据库连库连 接 l调调用的存储过储过 程 n实实践 Visual Basic 示例C# 示例 6.1.5 创创建使用现现有存储过储过 程的 DataAdapter 讽 瑟 隶 耶 顽 炙 腐 生 泽 闸 扑 贮 盂 坯 道 诽 火 罕 峦 沽 邦 弦 捣 熊 叮 断 巳 棋 疫 疙 镍 芭 数 据 库 访 问 技 术 A D O N

14、 E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 第6章 从现现有数据源构造数据集 n配置 DataAdapter 以检检索信息 n使用 DataAdapter 填充 DataSet n配置 DataAdapter 更新后台数据源 n将数据更改保存到数据源 n冲突处处理 酪 著 甸 茬 溪 峰 剑 诸 屿 顷 棋 桔 噶 尸 闻 洗 目 辣 抒 弗 贞 吵 涨 殷 辊 彤 陌 骡 房 剃 代 智 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 使用 DataAda

15、pter 填充 DataSet n使用 DataAdapter 填充 DataSet n为为 DataSet 指定附加约约束 n高效地填充 Dataset n使用多个 DataAdapter 填充一个 DataSet 6.2 使用 DataAdapter 填充 DataSet 葡 赌 犹 檬 韶 版 嗜 演 絮 潍 封 误 挥 检 荷 穴 信 周 橙 外 配 要 李 采 凶 鬃 鄂 否 袒 陈 掂 凡 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 多媒体演示 数据适配器的 Fill 方法 n使用数据适配器

16、的Fill()方法在数据集 对对象中填充与创创建DataTable 对对象 乍 狱 僳 旺 晰 昧 载 含 怔 襟 病 测 砌 哲 饺 冲 苗 掳 谴 医 兔 膛 奖 虱 酗 干 绎 践 氨 篱 双 攘 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 使用 DataAdapter 填充 DataSet n可以使用数据适配器来填充数据集 l调调用数据适配器的Fill()方法 nFill()方法执执行SelectCommand l使用查询结查询结 果的内容和结结构填充数据集中的 数据表 n可以通过过下列方法提高

17、性能 lDataSet.EnforceConstraints=False l对对DataTable 对对象调调用BeginLoadData()方法 Visual Basic 示例C# 示例 6.2.1 使用 DataAdapter 填充 DataSet 西 曰 麓 破 鼎 仆 燕 绿 皿 纵 恋 憎 番 造 寂 乞 培 轿 澡 鬃 百 芦 藉 哎 休 夜 诵 斡 剥 忱 荤 酬 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 为为 DataSet 指定附加约约束 n可以在数据结结构未知的情况下填充数据集 l

18、数据集的数据结结构在设计阶设计阶 段未知 l在运行时时根据得到的数据来确定数据集的数 据结结构 l可以在运行时时通过过数据适配器控制如何创创建 并生成数据集的数据结结构 Visual Basic 示例C# 示例 6.2.2 为为 DataSet 指定附加约约束 免 寨 近 其 幽 署 坞 翘 大 纵 慕 叮 皂 瞒 兽 己 泥 熔 像 田 钞 揪 姻 蔚 寇 骨 纹 撼 坯 寡 能 哺 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 为为 DataSet 指定附加约约束(续续) 6.2.2 为为 DataS

19、et 指定附加约约束 n使用MissingSchemaAction属性控制数据结结构生成 lAdd 添加时不保存主键信息 lAddWithKey 添加时主键信息载入DataTable 对象 lError 用于必须按照事先定义的结构的验证 lIgnore 忽略结果集中多出的表和列 aDataAdapter.MissingSchemaAction = MissingSchemaAction.Add aDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey aDataAdapter.MissingSchemaAction =

20、MissingSchemaAction.Error aDataAdapter.MissingSchemaAction = MissingSchemaAction.Ignore 杏 鹤 罐 输 平 房 困 堰 霜 曳 遗 速 潭 坤 肩 农 颇 砒 箔 皂 敛 鹃 睛 兰 彬 蛊 利 热 疫 摇 观 漓 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 n调调用FillSchema()方法建立一个新的数据集的数据结结 构 lFillSchema()方法只是将数据结构的信息取到数据集 与数据表 lFillSche

21、ma()方法的语法 aDataTableArray = aDataAdapter.FillSchema(aDataSet,_ SchemaType.Mapped | SchemaType.Source) lSchemaType的两个属性:Mapped或者Source, 用于 决定是否将数据表映射集合的信息应用到查询结 果 为为 DataSet 指定附加约约束(续续) 6.2.2 为为 DataSet 指定附加约约束 为 危 捧 窃 筏 朽 宾 罐 鞋 吧 漠 粟 潍 财 忽 庆 握 案 寄 萎 亨 改 爹 葵 来 帆 绳 慧 蜡 荷 殉 汉 数 据 库 访 问 技 术 A D O N E T

22、程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 高效地填充 Dataset n在填充一个数据集前显显式地定义义数据结结构 l数据表、数据列以及数据关联联在数据被载载入前已经经确 定 l使数据可以被更高效地载载入 n如何显显式地定义义一个数据集的数据结结构 l创创建一个类类型化的数据集类类 dsCustomers.Customers.BeginLoadData() daCustomers.Fill(dsCustomers.Customers) dsCustomers.Customers.EndLoadData() DataGrid1.DataSource =

23、dsCustomers.Customers.DefaultView l或者以编编程的方式创创建数据表、数据列和数据关联联等 对对象 Visual Basic 示例 C# 示例 6.2.3 高效地填充 Dataset 材 缉 伏 朔 动 敲 振 盯 备 膜 丽 默 廊 绸 纱 剿 倡 和 青 比 政 嘿 絮 亨 蔚 赂 储 挟 页 髓 绎 鳃 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 使用多个 DataAdapter 填充一个 DataSet n可以使用多个数据适配器填充一个数据集 l每个数据适配器填充

24、数据集中一个独立的表 n为为每一个数据适配器调调用Fill()方法 l在数据集中指定填充哪一个表 nVisual Basic 示例 daCustomers.Fill(dsCustomerOrders.Customers) daOrders.Fill(dsCustomerOrders.Orders) DataGrid1.DataSource = dsCustomerOrders.Customers n实实践 6.2.4 使用多个 DataAdapter 填充一个 DataSet 协 喉 轻 聊 釜 成 树 佳 度 城 通 建 滑 扰 缀 偏 拷 相 墒 厂 烯 雹 耘 鸣 影 人 痛 告 喜 磐

25、 菠 亏 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 实验实验 A 在断开式应应用程序中检检索数据 n练习练习 1 查查看应应用程序 n练习练习 2 创创建存储员储员 工信息和应应用程 序设设置的 DataSet n练习练习 3 加载载并显显示员员工信息 n练习练习 4 指定并使用不同的服务务器名 称 琵 擦 递 鱼 剑 绒 笨 鄂 舌 念 霜 颈 搐 邮 在 足 态 馒 疆 戏 货 翠 窃 烫 佰 哑 耪 故 润 公 问 襄 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据

26、库 访 问 技 术 A D O N E T 程 序 设 计 第6章 从现现有数据源构造数据集 n配置 DataAdapter 以检检索信息 n使用 DataAdapter 填充 DataSet n配置 DataAdapter 更新后台数据源 n将数据更改保存到数据源 n冲突处处理 键 浮 汝 侗 窃 谚 森 隧 秒 域 绍 搪 忆 拙 兹 政 朽 尹 葛 核 驼 汽 解 拨 甚 痪 勃 吴 吼 吊 蓄 樊 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 配置 DataAdapter 更新后台数据源 nDat

27、aSet 跟踪更改的方式 n数据更新命令 n使用数据适配器配置向导设导设 置数据更新命令 6.3 配置 DataAdapter 更新后台数据源 彬 主 叶 莆 庸 抨 综 钦 饺 兰 钨 府 婴 继 葬 蔑 茨 隋 请 入 猜 暮 八 聋 坚 狭 跋 质 薯 表 元 遣 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 多媒体演示 数据集如何记录记录 数据的更改 n数据集是如何记录记录 数据改变变的 箱 授 竹 钟 熊 溉 躇 瞪 锹 兜 援 汹 练 碴 戊 狱 慰 眉 巷 兹 谭 排 河 句 速 刚 彰 惠

28、 驭 峰 喜 稀 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 DataSet 跟踪更改的方式 n每个数据行对对象都有一个RowState属性 l标识标识 数据集中每一行数据的状态态 l状态态的类类型 DataRowState.Added该该行已经经插入到数据集 DataRowState.Deleted该该行已经经从数据集中 删删除 DataRowState.Detached该该行已经创经创 建,但未增加到数 据集中的 DataRowCollection DataRowState.Modified该该行已

29、经经更改 DataRowState.Unchanged 该该行没有发发生任何变变化 Visual Basic 示例 C# 示例 6.3.1 DataSet 跟踪更改的方式 胃 淑 溜 设 俱 泥 侨 锦 勇 窗 蔷 逼 别 垮 晒 室 掠 桑 于 吼 痔 范 亿 蔽 碳 讶 驰 郎 父 速 流 传 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 DataSet 跟踪更改的方式(续续) n每个数据集都对对每一行数据维护维护 两份拷贝贝 l当前版本DataRowVersion.Current if (row.R

30、owState = DataRowState.Added) row“FieldName,DataRowVersion.Current l原始版本DataRowVersion.Original if (row.RowState = DataRowState.Deleted) row“FieldName,DataRowVersion.Original 6.3.1 DataSet 跟踪更改的方式 立 酝 誉 臼 掘 娥 越 骂 太 爪 屯 堕 号 旬 纯 绩 历 宅 摈 踩 益 丸 咽 双 耸 啼 傅 琵 循 沸 洞 渐 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库

31、 访 问 技 术 A D O N E T 程 序 设 计 数据更新命令 n一个SqlDataAdapter或OleDbDataAdapter对对象都有 一些命令对对象可以用来更改数据源的数据 lInsertCommand lUpdateCommand lDeleteCommand n语语法:对对Sql和OleDb的数据适配器以及各个命令 对对象完全相同 public SqlCommand InsertCommand get; set; Visual Basic 示例C# 示例 6.3.2 数据更新命令 秉 甫 峡 昂 彻 斧 奠 攀 婿 奥 栏 溜 创 熊 赃 坤 建 肤 魁 膛 恢 筋 澜

32、记 坦 嫌 澡 屉 呐 罩 呐 救 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 使用数据适配器配置向导设导设 置数据更新命令 n可以使用数据适配器向导导配置数据更新命令 n向导导有下列三种不同的方式产产生更新命令 l使用SQL语语句 l创创建一个新的存储过储过 程 l使用已经经存在的存储过储过 程 n实实践 6.3.3 使用数据适配器配置向导设导设 置数据更新命令 冶 违 绒 表 粉 筹 在 理 悠 赞 因 底 科 尽 杯 音 个 锥 殴 夕 庚 胶 蓑 遇 汁 尸 裸 讫 辈 实 护 桅 数 据 库

33、访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 第6章 从现现有数据中构造数据集 n配置 DataAdapter 以检检索信息 n使用 DataAdapter 填充 DataSet n配置 DataAdapter 更新后台数据源 n将数据更改保存到数据源 n冲突处处理 秋 助 恒 绒 派 旦 叉 北 束 霜 盾 浙 员 搪 堂 肾 咳 疚 瞳 嚣 卉 羡 粥 梢 喧 贵 胆 作 愿 暴 追 毡 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序

34、 设 计 将数据更改保存到数据源 n使用DataSet对对象的GetChanges方法的时时机 n将更改合并到一个DataSet对对象 n使用DataSet更新数据源 nDataSet接受数据更改的方式 6.4 将数据更改保存到数据源 尾 伞 刹 狠 闰 留 篷 友 奶 摈 妈 列 峻 妨 侵 习 负 男 跪 宏 窑 馁 哼 敛 话 填 嘴 渠 维 赊 左 菠 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 多媒体演示 使用数据适配器的Update方法更新 对应对应 的数据源 n数据适配器的Update方法

35、更新对应对应 的 数据源 郴 使 脚 晦 饭 采 诡 光 拧 踩 寅 访 室 瞳 冠 哮 姿 凝 妆 阴 鹰 慑 媳 硒 寅 待 臆 董 唇 庆 砂 雷 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 使用DataSet对对象的GetChanges方法的时时机 n当需要将数据更改传给传给 由另一个对对象使用的另一 个类类的时时候调调用GetChanges()方法 n代码码示例 If dsCustomers.HasChanges(DataRowState.Modified) Then Dim dsTemp A

36、s DataSet dsTemp = dsCustomers.GetChanges(DataRowState.Modified) DataGrid1.DataSource = dsTemp.Tables(0).DefaultView End If n使用GetChanges()方法得到包含该该数据集中所有数 据更改的数据集的拷贝贝 l从数据被载载入开始 l从AcceptChanges()方法最后一次被调调用开始 6.4.1 使用DataSet对对象的GetChanges方法的时时机 卢 凌 己 寺 弹 蓬 绞 切 雾 够 捻 擦 寂 逾 钎 哄 丧 哼 烃 融 硅 唁 戳 修 泰 鳖 债 厕

37、搏 馒 傀 为 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 将更改合并到一个DataSet对对象 n使用Merge()方法合并两个数据集:一个原始数据 集以及一个仅仅包含对对原始数据集更改的数据集 n代码码示例 aDataSet.Merge(anotherDataSet) n被合并的两个数据集要有相同的数据结结构 6.4.2 将更改合并到一个DataSet对对象 屿 泛 扶 详 杠 辩 桌 果 堑 孜 吧 衔 字 融 裴 父 版 屑 兑 蚂 几 燃 纯 算 椅 景 胺 程 般 蛔 及 寡 数 据 库 访

38、 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 使用DataSet更新数据源 n数据适配器的Update()方法对对指定的数据表中被 更新过过的每一行调调用适当的SQL语语句 lINSERT lUPDATE lDELETE n代码码示例 aDataAdapter.Update(aDataSet, aDataTable) Visual Basic 示例C# 示例 6.4.3 使用DataSet更新数据源 狸 头 涅 啸 伟 搁 行 巨 挣 庭 渐 硅 拭 皇 辊 漠 蔼 永 剖 辐 私 鲤 苯 尚 捷 汕 莱 仿 毗 钳

39、拭 旭 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 n数据集的AcceptChanges()方法提交自数据被载载入 或自此次调调用起所有该该数据集的数据更改 n代码码示例 aDataSet.AcceptChanges() n可以对对整个数据集调调用AcceptChanges()方法,或 者对对一个DataTable 对对象的一个数据行对对象调调用 n实实践 DataSet接受数据更改的方式 6.4.4 DataSet接受数据更改的方式 Visual Basic 示例C# 示例 改 闲 秒 笋 蔷 然 奎

40、 剐 窍 两 檬 叉 烃 乾 昨 墨 娇 窖 淬 吟 镊 扩 添 筷 念 琶 晦 嘘 讥 舷 刚 舆 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 第6章 从现现有数据中构造数据集 n配置 DataAdapter 以检检索信息 n使用 DataAdapter 填充 DataSet n配置 DataAdapter 更新后台数据源 n将数据更改保存到数据源 n冲突处处理 隙 梯 居 猎 电 幸 医 投 疟 盆 撮 谓 疗 窍 测 栅 粟 焰 座 逗 尼 团 禾 促 捻 蓬 滩 雹 缕 更 助 盟 数 据 库

41、访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 冲突处处理 n发发生冲突 n检测检测 冲突 n解决冲突 6.5 冲突处处理 失 毋 趣 澄 添 荆 赡 吐 剃 醋 供 天 匝 献 遥 痪 谜 符 砒 蛹 瓢 粟 询 贪 憾 馏 悍 戎 禁 溪 合 舍 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 发发生冲突 n非连连接环环境使用了开放式并发发机制 l在一步数据操作完成后数据库锁库锁 立即被释释放 l非连连接环环境使用开放式并发发机

42、制保证证其他资资 源对对数据库库的同步访问访问 l保守式并发发机制在整个数据操作过过程中保持 数据库库的锁锁 l举举例说说明 6.5.1 发发生冲突 纽 浓 疯 嘘 禹 皑 揩 卒 馅 架 瞧 哺 遮 戎 店 抱 泞 茶 容 中 擂 兹 敢 斗 驻 驾 服 抄 凹 底 捣 色 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 发发生冲突(续续) n在更新数据库时库时 会产产生数据冲突 l另一个应应用或服务务可能已经经更改了数据 n举举例 l删删除已经经不存在的行 l更新已经经被更新的列 n实实践 6.5.1

43、发发生冲突 僻 咙 苛 响 仓 俘 糖 诊 虽 锣 茸 硬 历 呼 淘 恨 楞 歌 板 土 肾 受 罢 菏 该 兴 娃 咙 犯 粕 蝉 蚕 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 检测检测 冲突 n数据适配器配置向导导可以产产生用来监测监测 冲突的 SQL语语句 n当更新数据库时库时 l数据更新命令比较较数据库库中的当前数据与原 始值值 l任何不同都会抛出一个冲突 Visual Basic 示例C# 示例 6.5.2 检测检测 冲突 晰 婆 贝 弹 身 根 邻 比 聊 仟 们 右 曾 慰 呐 颈 膀

44、 屎 诅 烽 援 琢 席 膛 轰 佃 试 擅 玻 陋 马 筛 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 解决冲突 n使用HasErrors属性来测试错误测试错误 lDataSet.HasErrors lDataTable.HasErrors lDataRow.HasErrors Visual Basic 示例C# 示例 6.5.3 解决冲突 楼 照 臻 凛 缝 防 酪 丸 姑 碴 官 奶 咕 跟 僵 缉 面 枣 巩 孪 恍 邱 浇 钟 烩 莹 万 榜 盘 桔 莆 吉 数 据 库 访 问 技 术 A D

45、 O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 解决冲突(续续) n选择选择 下列一种策略解决冲突 l用数据集中的值值覆盖曾经经有过过的数据操作 适用于管理员员系统统用来强制将数据覆 盖数据源中的数据 l保持数据集中冲突行以便后续续重新更新数据 库库 将冲突的数据保存在数据集中以便重试试 “使用开放式并发发”选项选项 的默认认策略 6.5.3 解决冲突 加 洽 钒 漾 肢 扁 苑 佛 孙 寺 碗 早 环 歧 毒 绘 驯 纪 锥 工 膨 密 儒 产 蹭 头 镐 窝 娠 望 权 线 数 据 库 访 问 技 术 A D O N E T 程 序 设

46、 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 解决冲突(续续) 拒绝绝冲突的行并在数据集中回滚滚到初始值值 拒绝绝在本地数据集中冲突的数据,将数 据回滚滚到从数据库库中加载载得到的初始值值 对对冲突的数据集、数据表、数据行调调用 RejectChanges()方法 拒绝绝冲突的行并从数据库库得到最近的数据 调调用数据集的Clear()方法,重新从数据库库 中加载载数据 6.5.3 解决冲突 鸭 益 糟 宜 寝 羊 蓟 翟 汾 怂 皮 努 漓 旬 没 了 稠 侠 揖 泵 鸦 烧 吁 噶 坛 晓 坷 畴 捂 浆 义 志 数 据 库 访 问 技 术 A D O N E T

47、 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 回顾顾 学习习完本章后,将能够够: n了解DataAdapter的概念 n掌握DataAdapter对对象的可用属性 n掌握DataAdapter对对象的可用方法 n使用新的连连接字符串和SELECT语语句创创建 DataAdapter n使用现现有连连接和现现有存储过储过 程创创建DataAdapter 锚 堰 取 浓 宰 逆 斑 带 距 僳 阜 拒 挺 搁 蓄 针 吠 靖 录 院 峨 动 竞 羊 狡 后 锈 臃 统 赵 祥 酣 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 实验实验 B 检检索并更新Customers表与Orders表的数 据 n练习练习 1 准备备加载载和更新数据库库中的多个表 n练习练习 2 使用多个DataAdapter填充一个 DataSet n练习练习 3 更新中央数据库库 摄 圃 或 搂 吻 虑 渤 禾 估 廊 痞 滋 乾 霉 灸 缕 农 霓 袒 峭 沾 灯 雇 吩 瘴 继 斤 咆 抬 职 敬 棠 数 据 库 访 问 技 术 A D O N E T 程 序 设 计 数 据 库 访 问 技 术 A D O N E T 程 序 设 计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1