百度了很多方法,对于新新手来说,虽然能执行,但是看不明白,在此记录一下。‘
存储过程如下:
此存储过程作用是返回更改数据受影响的条数
ALTER PROCEDURE [dbo].[P_ROHS_Updata]
-- Add the parameters for the stored procedure here
@info int out --输出参数
AS
BEGIN
SET NOCOUNT ON;
declare @string_exec nvarchar(900); --定义一个参数
set @string_exec='update DataInfo set Result=''NG'' where TestReport is null; --SQL 语句
EXEC(@string_exec); --执行SQL语句
return @@ROWCOUNT; --返回受影响的条数
END
调用存储过程
/// <summary>
/// 执行有回传参数的存储过程
/// </summary>
/// <returns></returns>
public int count11()
{
string connstr = ConfigurationManager.ConnectionStrings["ConnectionString_H3Cloud"].ToString(); //在webconfig中获取数据库连接字符串。
SqlConnection conn = new SqlConnection(connstr); //创建SqlCommand命令对象
SqlCommand cmd = new SqlCommand("[P_ROHS_Updata]", conn); //命令对象传参 P_ROHS_Updata是存储过程名称
cmd.CommandType = CommandType.StoredProcedure; //执行令对象改为存储过程
cmd.Parameters.Add("@info", SqlDbType.Int).Direction = ParameterDirection.Output; //设置参数@info为输入参数
conn.Open(); //打开数据库
cmd.ExecuteNonQuery(); //执行command
conn.Close(); // 关闭数据库
int outResult = Convert.ToInt32(cmd.Parameters[0].Value); //取出存储过程输入的值
return outResult; //返回值
}