C#的错误问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 20:22:31
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:

行 180: if(HasReturn)
行 181: {
行 182: result = (int)_command.Parameters["@RETURN_VALUE"].Value ;
行 183: }
行 184:

源文件: g:\docadmin\dal\dataaccess.cs 行: 182

堆栈跟踪:

[NullReferenceException: 未将对象引用设置到对象的实例。]
DocAdmin.DAL.DataAccess.ExecuteNonQuery_in(String commandText, Boolean HasReturn, SqlParameter[] commandParameters) in g:\docadmin\dal\dataaccess.cs:182
DocAdmin.DAL.DataAccess.ExecuteNonQuery(String spName, Boolean hasReturns, Object[] parameterValues) in g:\docadmin\dal\dataaccess.cs:213
DocAdmin.BLL.Usr.UserLogin(String loginID, String pwd) in g:\docadmin\bll\usr.cs:245
DocAdmin.USL.Login.b_Login_Click(Object sender, EventArgs e) in G:\docAd

_command.Parameters["@RETURN_VALUE"].Value ;
为 空时,不能(int),所以
[NullReferenceException: 未将对象引用设置到对象的实例。]

空引用,就是返回值为Null

要先关闭连接再访问输出参数

跟踪一下~

“未将对象引用设置到对象的实例”,_command.Parameters["@RETURN_VALUE"].Value 应该是空的~

int.parse 前应该判断下是否为null 或 “”

try{
result = (int)_command.Parameters["@RETURN_VALUE"].Value.ToString() ;
}
catch{
}