• 1. DataSet DataAdapter DataGridView用 DataGridView 显示和操作数据库
  • 2. 回顾// command 是一个有效的 Command 对象 SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.HasRows) { studentName= dataReader[0]; } dataReader.Close();缺少 dataReader.Read();没有类型转换 (string)dataReader[0];2
  • 3. 检查DataSet 对象的作用是什么? DataAdapter 对象的作用是什么? DataGridView 控件的作用是什么?3
  • 4. 任务通讯录系统的用户管理模块 实现批量查看和修改好友信息功能 实现批量查看、筛选和修改好友信息功能4
  • 5. 目标了解数据集(DataSet)的结构 会使用数据适配器填充数据集 会使用数据适配器将数据集的修改提交到数据库 掌握 DataGridView 控件的使用5
  • 6. 为什么使用 DataSet 对象应用程序 大量的数据 来自多个数据源大批量的查询、修改数据怎么办? 想在断开数据库连接的情况下操所数据怎么办?使用 DataSet 对象 DataSet数 据 库6
  • 7. 什么是 DataSet 对象DataSet 数据集 简单理解为一个临时数据库 将数据源的数据保存在内存中 独立于任何数据库工厂的仓库车间的 临时仓库生产线数据源DataSet应用程序驻留于内存, 临时存储数据类似的关系7
  • 8. DataSet 的结构2-1DataSet 的基本结构DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection数据集数据表的集合数据表数据列的集合数据行的集合数据列数据行8
  • 9. DataSet 的结构2-2GradeTableClassTableStudentTableidnameclasssex1小菲5女2小薇3女3小强6男DataTableCollection 数据表集合DataTable 数据表DataRowCollection 数据行集合DataRow 数据行DataColumnCollection 数据列集合DataColumn 数据列9
  • 10. 数据集的工作原理数据集发送数据修改数据集传递数据提交修改后的数据请求数据客户端10
  • 11. 如何创建 DataSet 对象创建一个 DataSet 可以指定一个数据集的名称 如果不指定名称,则默认被设为"NewDataSet"DataSet dataSet = new DataSet();DataSet dataSet = new DataSet("MySchool");DataSet 数据集对象 = new DataSet("数据集的名称字符串");可选的11
  • 12. 为什么使用 DataAdapter如何将数据库的数据放在 DataSet 中?DataSet 数据集DataAdapter数据库DataSet 数据集Connection 数据库连接DataAdapter 数据适配器数 据 库12
  • 13. DataAdapter 对象不同命名空间的 DataAdapter 对象命名空间对应的 DataAdapter 对象System.Data.SqlClient SqlDataAdapterSystem.Data.OleDbOleDbDataAdapterSystem.Data.Odbc OdbcDataAdapterSystem.Data.OracleClientOracleDataAdapter13
  • 14. 如何填充数据集 使用 DataAdapter 对象填充数据集DataSet 数据集使用 Fill() 方法填充 DataSet 中的表使用 Connection 连接数据源Connection数 据 库DataAdapter 的 Fill() 方法14
  • 15. 填充数据集演示示例1:查看教师信息窗体——填充数据集,打印部分内容SqlDataAdapter 对象名 = new SqlDataAdapter(查询用sql语句, 数据库连接);创建 SqlDataAdapter 对象1DataAdapter对象. Fill(数据集对象, "数据表名称字符串");填充 DataSet215
  • 16. 如何保存 DataSet 中的数据 把数据集中修改过的数据提交到数据源DataSet 数据集数 据 库dataAdapter.Update(dataSet,"Teacher");DataAdapter 的 Update() 方法调用前,要先设置更新需要的相关命令 可以使用 SqlCommandBuilder 对象Connection16
  • 17. SqlCommandBuilder 对象利用 SqlCommandBuilder 对象能够自动生成: INSERT 命令 UPDATE 命令 DELETE 命令SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);17
  • 18. 保存 DataSet 中的数据自动生成用于更新的相关命令1将 DataSet 的数据提交到数据源2SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,"Teacher");步骤:SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);DataAdapter对象. Update(数据集对象, "数据表名称字符串");18
  • 19. DataAdapter 对象小结DataAdapter 的主要属性和方法属性说明SelectCommand 从数据库检索数据的 Command 对象方法说明Fill 向 DataSet 中的表填充数据Update将 DataSet 中的数据提交到数据库19
  • 20. 小结使用什么方法填充 DataSet ? DataAdapter 的作用是什么?使用什么方法将 DataSet 中数据提交到数据库?20
  • 21. 为什么使用 DataGridView怎样显示 DataSet 中的数据呢?数 据 集使用 DataGridView21
  • 22. DataGridView 控件 DataGridView 控件强大而灵活地显示数据轻松定义控件外观像 Excel 表格一样方便一行代码实现数据绑定可视化操作22
  • 23. 使用 DataGridView 显示数据示例1 已经填充了 DataSet ,如何在窗体中显示教师信息?使用 DataGridView 显示数据 指定 DataGridView 的数据源——DataSource 属性23
  • 24. 使用 DataGridView 显示数据实现步骤: 添加窗体的控件 设置 DataGridView 控件和其中各列的属性 设置 DataSource 属性,指定数据源dgvTeacher.DataSource = dataSet.Tables["Teacher"]; 演示示例2:使用 DataGridView 显示数据24
  • 25. DataGridView 控件重要属性DataGridView 的重要属性属性说明Columns 包含的列的集合DataSourceDataGridView 的数据源ReadOnly是否可以编辑单元格在其中编辑 DataGridView 列的属性25
  • 26. 列的主要属性小结DataGridView 中各列的主要属性属性说明DataPropertyName绑定的数据列的名称HeaderText列标题文本Visible指定列是否可见Frozen指定水平滚动DataGridView时列是否移动ReadOnly指定单元格是否为只读26
  • 27. 通过 DataGridView 修改数据把修改过的教师信息保存到数据库使用 DataAdapter 的 Update() 方法注意:将 DataGridView 和相应列的 ReadOnly 属性设为 False27
  • 28. 通过 DataGridView 修改数据实现步骤: 处理“保存修改”按钮的 Click 事件 编写事件处理程序SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet, "Teacher"); 演示示例3:通过 DataGridView 修改数据28
  • 29. 小结使用 DataGridView 的什么属性指定数据源?在示例3中增加“刷新”按钮,实现刷新功能// 当点击“刷新”按钮时,重新填充数据集 private void btnReFill_Click(object sender, EventArgs e) { dataSet.Tables["Teacher"].Clear(); // 清空原来的数据 dataAdapter.Fill(dataSet, "Teacher"); // 填充数据集 }查看源代码29
  • 30. 综合示例批量查看和修改——使用 DataSet 填充数据集、更新数据库——使用 DataAdapter 显示数据——使用 DataGridViewMySchool 学员信息的批量查看和修改功能 按照性别筛选显示的数据 演示示例4:演示批量查看和修改学员功能30
  • 31. ADO.NET 小结数 据 库.NET 数据提供程序Connection 对象Command 对象DataReader 对象DataAdapter 对象内存DataSet ExecuteReader()Read()Fill()Update()ExecuteScalar()ExecuteNonQuery()应用程序31
  • 32. 总结 ADO.NET 的两大组成部分是什么?每个核心对象的作用是什么?.NET 数据提供程序包括哪几个核心对象? 32