.NET VS 调用 Sql Server 存储过程

2017-12-30 11:26:08来源:oschina作者:LiuMangUser人点击

分享

一、创建存储过程


数据库——可编程性——存储过程——右击创建存储过程——写入Sql


二、编写调用存储过程基类


//调用SQL存储过程 Proc_BS
//strProc 存储过程名称
//int 参数名
public int ExecuteProcGetParm(string strProc, int scaleC, int scaleAB, int scaleC_1, int scaleAB_1)
{
using (SqlCommand cmd = new SqlCommand(strProc, connection))
{
try
{
cmd.CommandText = strProc;// "Proc_BS";
cmd.CommandType = CommandType.StoredProcedure;SqlParameter parm = cmd.Parameters.Add("@scaleC", SqlDbType.Int);
parm.Value = scaleC;
parm = cmd.Parameters.Add("@scaleAB", SqlDbType.Int);
parm.Value = scaleAB;
parm = cmd.Parameters.Add("@scaleC_1", SqlDbType.Int);
parm.Value = scaleC_1;
parm = cmd.Parameters.Add("@scaleAB_1", SqlDbType.Int);
parm.Value = scaleAB_1;
parm = cmd.Parameters.Add("@rowcount", SqlDbType.Int);
parm.Direction = ParameterDirection.Output;//返回参数
if (connection.State == ConnectionState.Closed)
{
connection.Open();
SqlDataReader dr = cmd.ExecuteReader();
int rows = int.Parse(cmd.Parameters["@rowcount"].Value.ToString()); //cmd.ExecuteNonQuery();
connection.Close();
return rows;
}
return 0;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
connection.Close();
}
}
}

三、调用


返回参数 = ds.ExecuteProcGetParm("存储过程名称", scaleC, scaleAB, scaleC_1, scaleAB_1);

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台