62,073
社区成员
发帖
与我相关
我的任务
分享
int result = 0;
int rowsAffected;
OracleParameter[] parameters = {
new OracleParameter("var_XH", OracleDbType.NVarchar2,50),
new OracleParameter("var_SHID", OracleDbType.NVarchar2,50),
new OracleParameter("var_SHSJ", OracleDbType.NVarchar2,50) };
parameters[0].Value = XH;
parameters[1].Value = SHID;
parameters[2].Value = SHSJ;
result= DbHelperOra.RunProcedure("CQLG_BYGL.UP_GRADUATECHECKONE()", parameters, out rowsAffected);
return result;
public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected )
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
int result;
connection.Open();
OracleCommand command = BuildIntCommand(connection,storedProcName, parameters );
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
//Connection.Close();
return result;
}
}
/// <summary>
/// 创建 OracleCommand 对象实例(用来返回一个整数值)
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>OracleCommand 对象实例</returns>
private static OracleCommand BuildIntCommand(OracleConnection connection,string storedProcName, IDataParameter[] parameters)
{
OracleCommand command = BuildQueryCommand(connection,storedProcName, parameters );
command.Parameters.Add( new OracleParameter ( "ReturnValue",
OracleDbType.Int32, 4, ParameterDirection.ReturnValue,
false,0,0,string.Empty,DataRowVersion.Default,null ));
return command;
}
private static OracleCommand BuildQueryCommand(OracleConnection connection,string storedProcName, IDataParameter[] parameters)
{
OracleCommand command = new OracleCommand( storedProcName, connection );
command.CommandType = CommandType.StoredProcedure;
foreach (OracleParameter parameter in parameters)
{
command.Parameters.Add( parameter );
}
return command;
}