运行程序时,出现错误System.InvalidCastException: 指定的转换无效,帮忙解决一下
源码如下:private static int ExecuteNonQuery_in(string commandText,bool HasReturn, params SqlParameter[] commandParameters)
{
int result = -1 ;
//创建并打开数据连接
if (_connection.State != ConnectionState.Open)
{
_connection.Open();
}
_command.Connection = _connection ;
PrepareCommand(commandText, commandParameters);
//调用执行函数
//执行命令
try
{
result = _command.ExecuteNonQuery();
}
catch(Exception e)
{
//执行失败
//从异常中获取失败信息
string msg = e.Message ;
//调用写日志方法
Trace.Write("ExecuteNonQuery","Error",commandText+"|"+msg) ;
}
if(HasReturn)
{
result =(int)_command.Parameters["@RETURN_VALUE"].Value
错误信息提示:System.InvalidCastException: 指定的转换无效 }
//清除参数
_command.Parameters.Clear();
//执行完毕后关闭连接
_connection.Close() ;
return result ;
}
/// <summary>
/// 执行无返回值的存储过程
/// 注意参数值的顺序需与存储过程参数顺序一致
/// </summary>
/// <param name="spName">存储过程名</param>
/// <param name="parameterValues">参数值</param>
/// <returns>执行结果</returns>
public static int ExecuteNonQuery(string spName,bool hasReturns,params object[] parameterValues)
{
//如果有参数值, 先赋参数值再执行
if ((parameterValues != null) && (parameterValues.Length > 0))
{
//获取存储过程参数
SqlParameter[] commandParameters = GetSpParameters(spName,hasReturns);
//为存储过程参数设定参数值
AssignParameterValues(commandParameters, parameterValues);
//调用执行带参数值的存储过程方法
return ExecuteNonQuery_in(spName,hasReturns, commandParameters);
}
//不带参数
else
{
return ExecuteNonQuery_in(spName,hasReturns);
}
}
望大家帮忙解决一下
[[it] 本帖最后由 tetet 于 2008-11-26 16:44 编辑 [/it]]