private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
{
// 确认打开连接
this.Open();
SqlCommand cmd = new SqlCommand(procName, con);
cmd.CommandType = CommandType.Text; //执行类型:命令文本
// 依次把参数传入命令文本
if (prams != null)
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
// 加入返回参数
cmd.Parameters.Add( new SqlParameter("ReturnValue", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, 0, 0, string.Empty, DataRowVersion.Default, null)); return cmd;
}
cmd.Parameters.Add( new SqlParameter("ReturnValue", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, 0, 0, string.Empty, DataRowVersion.Default, null));
这段代码是加入参数,但是这个参数的类型是返回值类型
(sql参数类型有Input Output InputOutput ReturnValue 四种类型,默认是input型的。)你也可以定义 output型的,但每个sql 执行完成后都会有一个returnvalue型的返回参数,这里new了一个sqlParameter("ReturnValue"参数的名称, SqlDbType.Int参数的类型整型, 4参数的大小4字节,ParameterDirection.ReturnValue参数的类型为ReturnValue型, false是否可空, 0小数点左右二侧的总位数, 0总小数位数,string.Empty 源列的名称, DataRowVersion.Default 自己查,null一个 Object它是 SqlParameter 的值)