SqlCommand cmd = new SqlCommand(procName, con);
================================================
调用存储过程procName  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));
================================================
参数列表中新添一个ReturnValue参数

解决方案 »

  1.   

    尤其是这段 cmd.Parameters.Add(
        new SqlParameter("ReturnValue", SqlDbType.Int, 4,
        ParameterDirection.ReturnValue, false, 0, 0,
        string.Empty, DataRowVersion.Default, null));
    当然各位大哥好人一点嘛,帮我详细解释全部啊,我会非常感激的。谢谢!!
    ---------------------------就是说你的存储过程会返回一个int值,如:
    --select ... insert ... ...
    return 0然后用该参数来接收这个return结果.
      

  2.   

    cmd.Parameters.Add(
        new SqlParameter("ReturnValue", SqlDbType.Int, 4,
        ParameterDirection.ReturnValue, false, 0, 0,
        string.Empty, DataRowVersion.Default, null));这个东西的参数怎么那么多?呵呵,
      

  3.   

    对应着sql server的一些东西来看就很清楚了。有些参数可以省略。
      

  4.   

    SqlParameter 是查询时用存储过程传参的实例.
    ReturnValue前面是不是少一个 @ 呀,这个是参数,也就是存储过程中的参数.
    ParameterDirection是一个枚举,在MSDN中一查就找到,看一下吧.其它可有可无了
      

  5.   

    各位大哥能能解释一下各个参数的意思吗?
    cmd.Parameters.Add(
        new SqlParameter("ReturnValue", SqlDbType.Int, 4,
        ParameterDirection.ReturnValue, false, 0, 0,
        string.Empty, DataRowVersion.Default, null));
    比如这个,通过循环就可以这样子添加参数了吗?那如果类型不一样怎么办啊?
      

  6.   

    public SqlParameter(string parameterName, System.Data.SqlDbType dbType, int size, System.Data.ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, System.Data.DataRowVersion sourceVersion, object value)
        System.Data.SqlClient.SqlParameter 的成员摘要:
    用参数名称、参数的类型、参数的大小、System.Data.ParameterDirection、参数的精度、参数的小数位数、源列、要使用的 System.Data.DataRowVersion 和参数的值初始化 System.Data.SqlClient.SqlParameter 类的新实例。参数:
    size: 参数的长度。 
    sourceVersion: System.Data.DataRowVersion 值之一。 
    isNullable: 如果字段的值可为空,则为 true;否则为 false。 
    scale: 要将 System.Data.SqlClient.SqlParameter.Value 解析为的总小数位数。 
    precision: 要将 System.Data.SqlClient.SqlParameter.Value 解析为的小数点左右两侧的总位数。 
    dbType: System.Data.SqlDbType 值之一。 
    sourceColumn: 源列的名称。 
    value: 一个 System.Object,它是 System.Data.SqlClient.SqlParameter 的值。 
    direction: System.Data.ParameterDirection 值之一。 
    parameterName: 要映射的参数的名称。
      

  7.   

    类型这部分值通过TypeOf(直接类型或间接类型)来动态的取
      

  8.   

    cmd.Parameters.Add(
        new SqlParameter("ReturnValue", SqlDbType.Int, 4,
        ParameterDirection.ReturnValue, false, 0, 0,
        string.Empty, DataRowVersion.Default, null));//这个是添加一个返回参数,在执行存储过程中接受返回的结果值
    然后你可以根据这个返回值 做出判断
      

  9.   

    郭佩玉?MSDN上是这样说的public SqlParameter (
    string parameterName,
    SqlDbType dbType,
    int size,
    ParameterDirection direction,
    bool isNullable,
    byte precision,
    byte scale,
    string sourceColumn,
    DataRowVersion sourceVersion,
    Object value
    )
     
    参数
    parameterName
    要映射的参数的名称。 dbType
    SqlDbType 值之一。 size
    参数的长度。 direction
    ParameterDirection 值之一。 isNullable
    如果字段的值可为空,则为 true;否则为 false。 precision
    要将 Value 解析为的小数点左右两侧的总位数。 scale
    要将 Value 解析为的总小数位数。 sourceColumn
    源列的名称。 sourceVersion
    DataRowVersion 值之一。 value
    一个 Object,它是 SqlParameter 的值。 
      

  10.   

    小妹一来 大家都那么兴奋...小哥来了怎么不兴奋呢.
    -------------------------------------------------
    zzlb0224(我的脸色苍白) 
    该说的都说了,很详细.