C#执行SQL存储过程返回表

参考参考:

/*

创建一个名为Get的储存过程

先定义两个参数 ,其中@count为输出参数

sql语句中 第一句返回该表所有内容, 第二句 返回表的行数,并把值赋给输出参数

*/

CREATE PROCEDURE [Get]

@name varchar (50),

@count int output

AS

SELECT * FROM Table1

SELECT @count=COUNT(*) FROM Table1 WHERE UserName = @name

GO

private void ProcedureRead()

{

conn = new SqlConnection(strConn);

cmd = new SqlCommand("Get", conn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("@name", SqlDbType.VarChar).Value="呵呵";

cmd.Parameters.Add("@count", SqlDbType.Int).Direction = ParameterDirection.Output;

cmd.Connection.Open();

SqlDataReader dr = cmd.ExecuteReader();

while(dr.Read())

Response.Write(dr[0].ToString()+"<br>");

Response.Write("结束!");

dr.Close();

cmd.Connection.Close();

Response.Write("<script>alert("+cmd.Parameters["@count"].Value.ToString()+");</script>");

}