Presentation is loading. Please wait.

Presentation is loading. Please wait.

操作数据库 C#程序设计课程组.

Similar presentations


Presentation on theme: "操作数据库 C#程序设计课程组."— Presentation transcript:

1 操作数据库 C#程序设计课程组

2 Command ? Command 数据源 执行命令并从数据源中返回结果 应用程序 打开数据库 处理数据 …… Connection
怎样处理数据

3 Command 的主要成员 属性 说明 Connection Command对象使用的数据库连接 CommandText 执行的SQL语句
方法 说明 ExecuteNonQuery 执行不返回行的语句,如UPDATE等 ExecuteReader 返回DataReader对象 ExecuteScalar 返回单个值,如执行COUNT(*)

4 使用 Command 步骤 使用Command步骤: 1、创建数据库连接 2、定义 SQL 语句 3、创建 Command 对象
4、执行命令 执行命令前,必须打开数据库连接!

5 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的记录数
示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的记录数

6 Command实现

7 Command核心代码

8 Command-sql语法检查方法

9 使用DataReader

10 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的井名,并添加到列表框中
示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的井名,并添加到列表框中

11 Command实现-ExecuteReader

12 应用程序 DataReader 数 据 库 姓名: 徐礼应 学校: 美国硅谷 徐礼应,美国硅谷,优秀 成绩: 优秀

13 DataReader 对象 每次读取一行数据 命名空间 对应的 DataReader 对象 System.Data.SqlClient
SqlDataReader System.Data.OleDb OleDbDataReader System.Data.Odbc OdbcDataReader System.Data.OracleClient OracleDataReader

14 DataReader 的主要属性和方法 属性 说明 FieldCount 返回当前行中的列数 方法 说明 Read 前进到下一行记录
Close 关闭 DataReader 对象

15 DataReader 使用步骤 使用 DataReader 检索数据的步骤: 1、创建 Command 对象
2、调用 ExecuteReader() 创建 DataReader 对象 3、使用 DataReader 的 Read() 方法逐行读取数据 4、读取某列的数据,(type)dataReader[ ] 5、关闭 DataReader 对象 获取某列的值: 方法一:指定列的索引,从0开始 方法二:指定列名 注意:DataReader 使用后必须关闭

16 Command核心代码

17 使用ExecuteNonQuery

18 ExecuteNonQuery Command操作数据库 如何对数据库的数据进行增删改? 数 据 库
应用程序 ExecuteNonQuery 数 据 库 姓名: 徐礼应 学校: 美国硅谷 徐礼应,美国硅谷,优秀 成绩: 优秀

19 ExecuteNonQuery()方法步骤
1、创建 Connection 对象 2、定义sql 语句 3、创建 Command 对象 4、执行 ExecuteNonQuery() 方法 5、根据返回的结果进行处理

20 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 完成添加一口井。表tblWell
示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 完成添加一口井。表tblWell

21

22 tblWell数据记录

23 tblWell表结构

24 ExecuteNonQuery()

25 带参数的命令

26 使用DataAdapter

27 内存 .NET 数据提供程序 数 据 库 ExecuteNonQuery() 应用程序 DataSet ExecuteScalar()
Read() Fill() Update() ExecuteReader() Command 对象 DataReader 对象 DataAdapter 对象 Connection 对象 数 据 库

28 DataAdapter DataAdapter 如何将数据库的数据放在 DataSet 中? DataSet 数 据 库 数据集
数据适配器 数据库 DataSet 数据集 Connection 数据库连接

29 DataAdapter对象 不同命名空间的 DataAdapter 对象 命名空间 对应的 DataAdapter 对象
System.Data.SqlClient SqlDataAdapter System.Data.OleDb OleDbDataAdapter System.Data.Odbc OdbcDataAdapter System.Data.OracleClient OracleDataAdapter

30 DataAdapter 的主要属性和方法 属性 说明 SelectCommand 从数据库检索数据的 Command 对象 方法 Fill
向 DataSet 中的表填充数据 Update 将 DataSet 中的数据提交到数据库

31 如何填充数据集 使用 DataAdapter 对象填充数据集 DataSet 数 据 库 数据集
DataAdapter 的 Fill() 方法 数 据 库 Connection 使用 Connection 连接数据源 使用 Fill() 方法填充 DataSet 中的表

32 填充数据集步骤 1 2 创建 SqlDataAdapter 对象 SqlDataAdapter 对象名 =
new SqlDataAdapter(查询用sql语句, 数据库连接); 2 填充 DataSet DataAdapter对象. Fill(数据集对象, "数据表名称字符串");

33 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询所有的井显示。表tblWell
示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询所有的井显示。表tblWell

34

35

36 使用DataGridView

37

38 DataGridView控件 DataGridView显示数据 DataGridView常用属性和方法
掌握CommandBuilder对象的使用

39 DataGridView控件 怎样显示 DataSet 中的数据呢? 使用 DataGridView 数 据 集

40 DataGridView控件的常用属性 属性 说明 Columns 包含的列的集合 DataSource DataGridView 的数据源
ReadOnly 是否可以编辑单元格 在其中编辑 DataGridView 列的属性

41 指定水平滚动DataGridView时列是否移动
列的主要属性 DataGridView 中各列的主要属性 属性 说明 DataPropertyName 绑定的数据列的名称 HeaderText 列标题文本 Visible 指定列是否可见 Frozen 指定水平滚动DataGridView时列是否移动 ReadOnly 指定单元格是否为只读

42 DataGridView控件 实现步骤: 添加窗体的控件 设置 DataGridView 控件和其中各列的属性
设置 DataSource 属性,指定数据源

43 DataGridView控件

44 DataGridView控件

45 DataGridView控件

46 示例程序 显示当前行油井的信息

47

48 核心代码

49 核心代码

50 更新数据

51 内存 .NET 数据提供程序 数 据 库 ExecuteNonQuery() 应用程序 DataSet ExecuteScalar()
Read() Fill() Update() ExecuteReader() Command 对象 DataReader 对象 DataAdapter 对象 Connection 对象 数 据 库

52 在 ADO.NET 中更新数据库 DataSet 客户端 DataAdapter Database 服务器端 数据 填充 更新 数据
DataTable DeleteCommand UpdateCommand InsertCommand 重点: ADO.NET 中使用 Update 方法实现对数据库的更新; 难点: 增、删、改操作都通过 Update 方法实现; 注意: 增、删、改是三种不同的操作,因此 Update 实际上使用了三个不同的 Command 对象来完成对数据库的操作; 课堂提问: 在 ADO.NET 编程时并没有手工编写 Command 对象,那么三个 Command 对象什么时候生成的? -这是在使用 DataAdapter Wizard 时,Visual Studio.NET IDE 自动生成。

53 更新数据库的3个步骤: 更新DataSet中的数据 更新数据库的数据 将数据库的更新结果通知给DataSet

54 步骤一: 使用更新信息更新DataSet。更新信息包括新添加的记录、已修改的记录和已删除的记录。 步骤二: 调用DataAdapter对象的Update方法,将更新从DataSet 写回到原始数据源。 调用Update方法时,DataAdapter对更新信息进行分析,然后使用InsertCommand、UpdateCommand、DeleteCommand命令中的一种来处理更新。 必须在调用Update方法以前设置好这些命令。

55 步骤三: Update方法将更新写回到数据库后,必须通知DataSet数据库是否接受更改。 可以通过DataSet的AcceptChanges来接受修改,或者如果不能修改数据库,则可放弃更改,然后使用RejectChanges方法将DataSet恢复到上一次更新后的状态。

56 步骤二与三的顺序问题 AcceptionChanges方法会把DataSet中的所有记录的RowState设置为Unchanges,DataAdapter的Update方法会在Dataset中找RowState为Modifed或added或deleted,然后调用对应的Command。所以先调用AcceptionChanges再调用Update是没有作用的。

57 DataSet.Table( "TableName").Rows( j ).RowState
DataAdapter 的 Update 方法更新数据库的过程 更新后,DataSet 中所有的行的 RowSate 属性为 UnChanged 检查 RowState 属性 DataSet.Table( "TableName").Rows( j ).RowState Unchanged Modified Added Deleted DataAdapter 重点: 解释 RowState 属性的含义; 讲述 DataAdapter 的 Update 方法更新数据库的过程; 注意: 可以准备一个使用 DataAdapter 更新数据库的例子,并根据时间和学生的兴趣决定是否演示此例子; 说明:要使用 DataAdapter 更新数据库,必须正确地设置 DataAdapter 的 UpdateCommand、InsertCommand、DeleteCommand 属性。 不执行操作 UpdateCommand InsertCommand DeleteCommand Connection 数据库 sp_UPDATE sp_INSERT sp_DELETE

58 通过 DataGridView 修改数据 把修改过的数据保存到数据库
通过DataGridView修改数据,也同步修改了 DataSet中的数据 使用 DataAdapter 的 Update() 方法 注意:将 DataGridView 和相应列的 ReadOnly 属性设为 False

59 SqlCommandBuilder 对象 利用 SqlCommandBuilder 对象能够自动生成: INSERT 命令
UPDATE 命令 DELETE 命令 SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);

60 保存 DataSet 中的数据 步骤: 1 2 自动生成用于更新的相关命令 SqlCommandBuilder builder =
new SqlCommandBuilder(已创建的DataAdapter对象); 2 将 DataSet 的数据提交到数据源 DataAdapter对象. Update(数据集对象, "数据表名称字符串"); SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,”Students");

61 示例程序 批量完成数据的添加删除和修改

62

63 核心代码

64 核心代码

65 内存 .NET 数据提供程序 ADO.NET 小结 数 据 库 ExecuteNonQuery() 应用程序 DataSet
ExecuteScalar() .NET 数据提供程序 Read() Fill() Update() ExecuteReader() Command 对象 DataReader 对象 DataAdapter 对象 Connection 对象 数 据 库

66 总结 在数据库编程中使用数据绑定控件时, DataGridView 控件是 Visual Studio .NET 中提供的最通用、最强大和最灵活的控件 DataGridView控件以表格的形式显示数据,并根据需要支持数据编辑功能,如插入、更新、删除、排序和分页 使用 DataSource 属性为 DataGridView控件设置一个有效的数据源 调用 Update() 方法将DataSet中被修改的数据更新回数据库 使用SqlCommandBuilder对象自动生成DataAdapter对象的InsertCommand、 UpdateCommand 和 DeleteCommand 属性,完成对数据库的增、删、改操作

67 使用DataView

68 使用 DataView 数据视图 DataView 是一个对象,它位于数据表上面一层,提供经过筛选和排序后的表视图
通过定制数据视图可以选择只显示表记录的一个子集 DefaultView 属性返回表的默认数据视图 DataView dv = ds.Tables["Authors"].DefaultView;

69 使用 DataView DataView dv = new DataView(ds.Tables["Authors"]);
dv.RowFilter = "state = 'CA'"; dg.DataSource = dv; dg.Databind();

70 示例程序 使用本地过滤显示数据

71

72

73 核心代码


Download ppt "操作数据库 C#程序设计课程组."

Similar presentations


Ads by Google