sql中如何通过存储过程返回结果集

来源:百度知道 编辑:UC知道 时间:2024/05/17 19:24:45
如果我在代码中调用存储过程,如何返回里面select语句的结果集呢
存储过程是如何执行的,如果存储过程里有n个select语句那么它返回的是那条select语句结果集

1、 返回结果集

这是客户端应用程序返回结果的最通用的方法。结果集是通过使用SELECT语句选择数据产生的。结果集可以从永久表、临时表或局部变量中产生。将结果返回到另一个存储过程不是一种有效的方法。存储过程不能访问另一个存储过程建立的结果集。

例如从永久表中返回结果集:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromPermtable
AS
SELECT au_iname FROM authors
例如从局部变量中创建结果集:

USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromVariable
AS
DECLARE @au_iname char(20)
SELECT @au_iname = au_iname FROM authors
WHERE au_id = ‘172-32-1176’
SELECT @au_id
GO

SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["constring"]);
SqlCommand cmd1 = new SqlCommand("存储过程名", conn);
conn.Open();
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add("@roomid", SqlDbType.Int);
cmd1.Parameters["@roomid"].Value = id;
SqlDataReader sdr = cmd.ExecuteReader();