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>");
}

posted @ 2006-09-02 19:26  xiaoyixy  阅读(2962)  评论(0编辑  收藏  举报