今天,有个网友问起:
使用ExecuteReader方式执行的存储过程,存储过程既返回了查询结果,又有输出参数和返回值,但是返回值和输出结果总是取不到
其实这个问题,微软本身就给出了解释,MSDN上有明确的说明,我直接贴出来了:
Command 对象公开了几个可用于执行所需操作的 Execute 方法。当以数据流的形式返回结果时,使用 ExecuteReader 可返回 DataReader 对象。使用 ExecuteScalar 可返回单个值。使用 ExecuteNonQuery 可执行不返回行的命令。
当您将 Command 对象用于存储过程时,可以将 Command 对象的 CommandType 属性设置为 StoredProcedure。当 CommandType 为 StoredProcedure 时,可以使用 Command 的 Parameters 属性来访问输入及输出参数和返回值。无论调用哪一个 Execute 方法,都可以访问 Parameters 属性。但是,当调用 ExecuteReader 时,在 DataReader 关闭之前,将无法访问返回值和输出参数。
<script type="text/javascript"><!--
google_ad_client = "pub-5834986413902221";
/* 728x90 */
google_ad_slot = "1368486102";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
上面说的,应该是很清楚了吧,呵呵
分享到:
相关推荐
总结来说,当C#中的`ExecuteReader`用于执行返回查询结果、输出参数和返回值的存储过程时,需要注意以下几点: 1. 使用`CommandType.StoredProcedure`指定是存储过程。 2. 使用`Parameters`属性添加和配置输入、输出...
本节详细讲解了如何使用 `TableAdapter` 查询和 `Command` 对象创建和执行返回多行结果的 SQL 语句。 - **使用 TableAdapter 查询**: - 在数据集设计器中创建 `TableAdapter` 查询。 - 通过调用 `TableAdapter` ...
- **DataReader查询**:`ExecuteReader(string sql, params object[] parameters)`方法使用SqlDataReader对象逐行读取查询结果,适合于处理大量数据时减少内存占用。 4. **事务处理**:为了保证数据的一致性,...
在本节中,我们将详细探讨如何使用 C# 来连接 SQL Server 2000 数据库,并执行基本的操作如查询、插入、更新和删除。 ##### 1.1 连接字符串配置 连接字符串是建立与数据库连接的关键信息,通常包含服务器地址、...
对于查询,我们可以使用SqlCommand的ExecuteReader方法获取结果集,然后遍历DataReader对象: ```csharp SqlCommand command = new SqlCommand("SELECT * FROM MyTable WHERE Age > @Age", connection); command....
例如,使用ExecuteReader方法获取查询结果集,ExecuteNonQuery方法执行无返回值的DML(增删改)操作。 5. 数据绑定和控件:在Windows Forms或ASP.NET中,可以将数据绑定到控件,如DataGridView、ComboBox等,以显示...
这些方法分别对应不同的数据库操作:ExecuteNonQuery用于执行非查询操作(如INSERT、UPDATE、DELETE),ExecuteReader返回一个DataReader对象以进行数据遍历,而ExecuteScalar则用于获取单个值(如查询COUNT结果)。...
在处理返回的表数据时,`p_orders`参数是一个输出的SYS_REFCURSOR类型,它通常表示一个游标,可以用于在C#中打开一个DataReader,从而读取存储过程返回的结果集。游标允许我们逐行访问数据,而无需一次性加载所有...
本文档详细介绍了使用C#进行数据库操作的各种方法,包括删除记录、执行无返回值的操作、获取返回值的操作、填充数据集以及执行存储过程等。这些操作对于任何与数据库交互的应用程序都是至关重要的。 #### 二、连接...
- 用于执行 `SELECT` 查询,并返回一个 `DataReader` 对象。 - 错误选项解析:选项 C 表示 “Select 操作的 SQL 语句只能由 ExecuteReader() 方法来执行” 是不准确的。虽然 `SELECT` 语句通常由 `ExecuteReader()...
SQLHelper的核心在于执行SQL语句的方法,例如`ExecuteNonQuery()`(用于非查询操作,如INSERT、UPDATE、DELETE)和`ExecuteReader()`(用于查询操作,返回DataReader对象): ```csharp /// /// 执行SQL语句,无...
`ExecuteReader()`用于执行返回结果集的查询,如SELECT,返回一个DataReader对象。 以上知识点涵盖了C#的基础语法、面向对象特性、ASP.NET框架的使用以及ADO.NET数据库操作的基本概念,是期末复习的关键点。理解和...
2. **ExecuteReader()**:执行查询语句并返回一个DataReader对象,可以用来遍历查询结果。 3. **ExecuteScalar()**:用于执行返回单个值的SQL语句,例如COUNT(*)或SELECT TOP 1。 4. **ExecuteDataset()**:执行...
在上述代码示例中,我们展示了如何在C#中创建一个数据库操作类,它包含了调用存储过程的多种方法,包括处理输入参数、输出参数和返回值,以及使用SqlDataReader读取结果集。这种方法不仅使代码更加整洁,也提高了...
【C#.NET程序设计期末测试题解析】 C#.NET是一种基于.NET Framework的编程语言,用于构建各种应用程序,...这些内容有助于理解C#.NET的基础概念、类库使用和数据操作。学习这些知识对于开发C#.NET应用程序至关重要。
3. ExecuteReader:用于执行返回多行数据的查询,返回一个DataReader对象,可以遍历查询结果。 在SQLHelper类中,这些方法通常会接受两个主要参数:SQL语句和参数数组。例如,你可以这样使用ExecuteNonQuery方法...
1. **执行SQL查询**:提供ExecuteQuery方法,用于执行SQL SELECT语句,返回结果集作为DataTable对象或者DataRow数组,便于数据处理和显示。 2. **执行SQL命令**:提供ExecuteNonQuery方法,用于执行INSERT、UPDATE...
- **返回值:** 返回一个`SqlDataReader`对象,可以用来读取查询结果。 - **示例代码:** ```csharp using System.Data.SqlClient; string connectionString = "Data Source=(local);Initial Catalog=...
你可以设置`CommandText`属性为SQL语句,`CommandType`属性为命令类型(如文本或存储过程),并使用`ExecuteReader()`(返回`SqlDataReader`)或`ExecuteNonQuery()`(无返回值,如INSERT、UPDATE、DELETE语句)执行...
Command对象提供了ExecuteReader(返回DataReader对象以读取结果集)、ExecuteNonQuery(执行无返回值的SQL命令,如UPDATE、INSERT、DELETE,返回受影响的行数)和ExecuteScalar(返回结果集的第一行第一列的值,...