C#客户端和中间层编程中的数据访问(2)
### C#客户端和中间层编程中的数据访问(2) #### 9.1 “填充数据集和查询数据”概述 在C#开发.NET数据库系统中,客户端与中间层编程中的数据访问是一个关键环节。这一章节主要介绍了如何将数据加载到应用程序中,特别是针对数据集的填充与SQL语句的执行。 在.NET框架中,`TableAdapter` 是一种常见的用于执行 Transact-SQL 查询和填充数据集的机制。它可以执行 SQL 语句或存储过程,从而将数据加载到数据集中。如果使用 Visual Studio 设计工具创建数据集,那么 `TableAdapter` 是首选方案。而对于以编程方式创建的数据集,通常会使用 `DataAdapter` 来填充数据。 当应用程序不需要使用数据集时,可以考虑直接使用 `Command` 对象来执行 SQL 语句或存储过程,这种方式更加灵活且直接。 #### 9.2 如何:使用数据填充数据集 在这一部分,我们将详细介绍如何使用 `TableAdapter` 和 `DataAdapter` 将数据加载到数据集中。 - **使用 TableAdapter**: - 在 Visual Studio 中使用数据集设计器或数据源配置向导创建 `TableAdapter`。 - 通过调用 `TableAdapter` 的方法(通常是 `Fill` 方法),执行 SQL 语句或存储过程,从而将数据加载到数据集中。 - 可以通过数据集设计器中的 `TableAdapter` 查询配置向导来创建 `TableAdapter` 查询。 - **使用 DataAdapter**: - 如果数据集不是使用设计时工具创建的,那么需要手动创建 `DataAdapter`。 - 创建 `Command` 对象,定义 SQL 语句或存储过程。 - 设置 `DataAdapter` 的 `SelectCommand` 属性为前面创建的 `Command` 对象。 - 调用 `DataAdapter` 的 `Fill` 方法来填充数据集。 #### 9.3 如何:创建和执行返回行的SQL语句 本节详细讲解了如何使用 `TableAdapter` 查询和 `Command` 对象创建和执行返回多行结果的 SQL 语句。 - **使用 TableAdapter 查询**: - 在数据集设计器中创建 `TableAdapter` 查询。 - 通过调用 `TableAdapter` 的相应方法来执行 SQL 语句。 - 结果会被填充到数据集中的某个表。 - **使用 Command 对象**: - 创建 `SqlCommand` 对象并定义 SQL 语句。 - 设置 `SqlCommand` 的 `Connection` 属性以指向数据库连接。 - 调用 `ExecuteReader` 方法执行 SQL 语句并获取结果集。 - 使用 `DataReader` 遍历结果集。 #### 9.4 如何:创建和执行返回单个值的SQL语句 在某些情况下,我们可能只需要执行 SQL 语句并获取单个值作为结果。 - **使用 TableAdapter 查询**: - 创建 `TableAdapter` 查询并执行。 - 从结果集中提取所需的单个值。 - **使用 Command 对象**: - 创建 `SqlCommand` 并定义 SQL 语句。 - 调用 `ExecuteScalar` 方法执行 SQL 语句并直接获取单个值。 #### 9.5 如何:创建和执行不返回值的SQL语句 有些操作,比如插入、更新或删除数据,通常不会返回值。 - **使用 TableAdapter 查询**: - 创建 `TableAdapter` 查询并执行。 - 这种情况下,通常不需要处理返回值。 - **使用 Command 对象**: - 创建 `SqlCommand` 并定义 SQL 语句。 - 调用 `ExecuteNonQuery` 方法执行 SQL 语句。 - 返回受影响的行数,但通常并不需要这个值。 #### 9.6 如何:执行返回行的存储过程 存储过程可以返回多行数据。 - **使用 TableAdapter 查询**: - 创建 `TableAdapter` 查询并执行。 - 结果会被填充到数据集中的表。 - **使用 Command 对象**: - 创建 `SqlCommand` 并定义存储过程。 - 调用 `ExecuteReader` 方法执行存储过程。 - 使用 `DataReader` 遍历结果集。 #### 9.7 如何:执行返回单个值的存储过程 有些存储过程可能会返回单个值。 - **使用 TableAdapter 查询**: - 创建 `TableAdapter` 查询并执行。 - 从结果集中提取单个值。 - **使用 Command 对象**: - 创建 `SqlCommand` 并定义存储过程。 - 调用 `ExecuteScalar` 方法执行存储过程。 - 直接获取单个值。 #### 9.8 如何:执行不返回值的存储过程 存储过程也可能只是进行一些操作而不返回任何值。 - **使用 TableAdapter 查询**: - 创建 `TableAdapter` 查询并执行。 - 不需要处理返回值。 - **使用 Command 对象**: - 创建 `SqlCommand` 并定义存储过程。 - 调用 `ExecuteNonQuery` 方法执行存储过程。 - 返回受影响的行数。 #### 9.9 如何:设置和获取命令对象的参数 在执行 SQL 语句或存储过程中,常常需要设置参数值。 - **设置参数**: - 创建 `SqlParameter` 对象,并设置其 `ParameterName` 和 `Value` 属性。 - 添加参数到 `SqlCommand` 的 `Parameters` 集合中。 - **获取参数值**: - 当执行完存储过程后,可以通过检查输出参数的 `Value` 属性来获取返回值。 #### 9.10 演练:使用数据填充数据集 这一节提供了一个具体的例子,展示了如何创建数据集并使用数据库中的数据填充它。 - **创建数据集**: - 使用 Visual Studio 的数据集设计器或数据源配置向导创建数据集。 - 创建 `TableAdapter` 并配置查询。 - **填充数据集**: - 调用 `TableAdapter` 的 `Fill` 方法来填充数据集。 #### 9.11 演练:将 XML 数据读取到数据集 本节介绍了一个示例应用程序,该应用程序将 XML 数据加载到数据集中,并在 DataGridView 控件中显示这些数据。 - **读取 XML 数据**: - 使用 `XmlReader` 或 `XmlDocument` 类读取 XML 文件。 - 将 XML 数据转换为 `DataTable` 或 `DataSet`。 - **显示数据**: - 使用 DataGridView 控件绑定数据集中的数据,并在界面上展示。 总结而言,在C#客户端和中间层编程中的数据访问方面,使用 `TableAdapter` 和 `DataAdapter` 填充数据集是最常见的做法之一。此外,直接使用 `Command` 对象来执行 SQL 语句或存储过程也是一项重要的技能。了解如何根据不同的需求选择合适的方法,对于开发高效且可靠的.NET数据库应用至关重要。
剩余153页未读,继续阅读
- 枫叶fengdnnn2012-12-03不适合,不能用
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助