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
/*
创建一个名为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>");
}