private SqlCommand CreateCommand(string procName, SqlParameter[] prams) 
{
Open();
SqlCommand cmd = new SqlCommand(procName, cn);
cmd.CommandType = CommandType.StoredProcedure;
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));
是什么意思~~  为什么有怎么多参数呢~~  为什么是SqlDbType.Int,如果是其他实践类型怎么办??

解决方案 »

  1.   

    cmd.Parameters 是个数组
    new SqlParameter("ReturnValue", SqlDbType.Int, 4,
    ParameterDirection.ReturnValue, false, 0, 0,
    string.Empty, DataRowVersion.Default, null));
    这是一个参数实例,SqlDbType.Int表示的是数据类型
      

  2.   

    new SqlParameter("@ReturnValue", SqlDbType.Int, 4,
    ParameterDirection.ReturnValue, false, 0, 0,
    string.Empty, DataRowVersion.Default, null));
    试试