SqlParameter[] sqlParam = new SqlParameter[1];sqlParam[0] = new SqlParameter();
sqlParam[0].ParameterName = "@ReturnValue";
sqlParam[0].DbType = DbType.String;
sqlParam[0].Direction = ParameterDirection.Output;
为存储过程的参数,为什么我不指定 sqlParam[0].Size ,执行出错了?

解决方案 »

  1.   

    cmd.Parameters.Add("@ReturnValue",DbType.String).Direction =ParameterDirection.Output;一句话就行了呗
    如果有必要,就在DbType.String,加个长度好了
      

  2.   

    存储过程中写的参数@ReturnValue 后面一定有一个类型,是varchar(lenth)或者其他类型,如果是int,可以不指定长度,但是是string,就需要长度.而且长度要符合.