C# 调试问题(从未调用方法)
我正在尝试执行一个存储过程,但下面的一行给我带来了麻烦:C# 调试问题(从未调用方法),c#,visual-studio-2008,debugging,stored-procedures,C#,Visual Studio 2008,Debugging,Stored Procedures,我正在尝试执行一个存储过程,但下面的一行给我带来了麻烦: result = this.sqlDalExternal.ExecuteStoredProcedure(SqlCommonExecutionType.DataTableResult, sqlCommand) as DataTable; 方法ExecuteStoreProcedure显然从未被调用。调试时,我可以从一行跳到下一行(如预期的那样)。然后,当我在这条线上,想进入,它只是跳到捕捉(例外e)。结果的值为null sqlComman
result = this.sqlDalExternal.ExecuteStoredProcedure(SqlCommonExecutionType.DataTableResult, sqlCommand) as DataTable;
方法ExecuteStoreProcedure显然从未被调用。调试时,我可以从一行跳到下一行(如预期的那样)。然后,当我在这条线上,想进入,它只是跳到捕捉(例外e)。结果的值为null
sqlCommand.CommandText设置为存储过程名称。为什么从未调用this.sqlDalExternal.ExecuteStoredProcedure方法
private DataTable ExecuteStoredProcedure(string storedProcedureName, Collection<SqlParameter> parameters)
{
DataTable result = null;
try
{
SqlCommand sqlCommand = new SqlCommand(storedProcedureName);
if (parameters != null)
foreach (SqlParameter parameter in parameters)
sqlCommand.Parameters.Add(parameter);
result = this.sqlDalExternal.ExecuteStoredProcedure(SqlCommonExecutionType.DataTableResult, sqlCommand) as DataTable;
}
catch(Exception e)
{
throw new ExternalSystemAdapterException(9102, e.ToString());
}
return result;
}
私有数据表ExecuteStoreProcedure(string storedProcedureName,集合参数)
{
数据表结果=null;
尝试
{
SqlCommand SqlCommand=新的SqlCommand(storedProcedureName);
if(参数!=null)
foreach(参数中的SqlParameter参数)
sqlCommand.Parameters.Add(参数);
结果=此.sqlDalExternal.ExecuteStoredProcedure(SqlCommonExecutionType.DataTableResult,sqlCommand)作为DataTable;
}
捕获(例外e)
{
抛出新的ExternalSystemAdapterException(9102,例如ToString());
}
返回结果;
}
可能是因为被调用的方法和要调试的方法之间的签名不匹配?:)
你打电话:
ExecuteStoredProcedure(SqlCommonExecutionType,
SqlCommand)
您调试的方法:
ExecuteStoreProcedure(字符串,
收藏)
“捕获了NullReferenceException”。下面写着“对象引用未设置为对象的实例。”
建议
this.sqlDalExternal
为null
,这解释了为什么从未调用该方法(因为没有可调用的对象)。“捕获了NullReferenceException”。下面写着“对象引用未设置为对象的实例。”