您的位置:首页 > 其它

.net调用存储过程时的输出函数

2008-08-19 17:29 260 查看
两年以前,我曾经因为输出的参数取不全而不用这个 Output了,今天我才知道bug所在,我没有指定Output的大小 ,如代码红字(ExecuteSqlCommandSql就是个执行存储过程的方法,这不写了)

另外,如果定义parameters[3].Direction = ParameterDirection.InputOutput;的话,如果不指定大小,那么你输入多长,那么返回字符串的长度就是多长

public String ChangePassword(String OrginUserId, String Password, String NewPassword)

{

SqlParameter[] parameters = {

new SqlParameter("@OrginUserId",OrginUserId),

new SqlParameter("@Password",Password),

new SqlParameter("@NewPassword",NewPassword),

new SqlParameter("@ErrorMessage", SqlDbType.NVarChar,15)

};

parameters[3].Direction = ParameterDirection.Output;

SQLHelper MySQLHelper = new SQLHelper();

String ReturnStr;

try

{

MySQLHelper.ExecuteSqlCommandSql(_ChangePassword, parameters);

ReturnStr = parameters[3].Value.ToString();

}

catch (Exception ex)

{

throw ex;

}

return ReturnStr;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: