create or replace PROCEDURE ECHOPROCEDURE ( paramIN IN varchar2, paramOUT OUT varchar2 ) AS BEGIN paramOUT := paramIN; END ECHOPROCEDURE;
public void MssExecuteEchoProcedure(string ssparamIN, out string ssparamOUT) { IDbTransaction tran = DBTransactionManager.Current.GetTransaction(); try { // create call IDbCommand cmd = DBHelper.CreateCommand(tran, "call ECHOPROCEDURE(@paramIN, @paramOUT)"); // set command parameters DBHelper.AddParameter(cmd, "@paramIN", DbType.String, ssparamIN); IDbDataParameter outParam = DBHelper.AddParameter(cmd, "@paramOUT", DbType.String); outParam.Direction = ParameterDirection.Output; outParam.Size = 256; // execute command DBHelper.ExecuteScalar(cmd); // retrieve output ssparamOUT = (String)outParam.Value; } finally { DBTransactionManager.Current.ReleaseTransaction(tran); } } // MssExecuteEchoProcedure
public void MssExecuteFunction(out int ssparamOUT) { IDbTransaction tran = DBTransactionManager.Current.GetTransaction(); IDataReader reader = null; try { // create call IDbCommand cmd = DBHelper.CreateCommand(tran, "select RETVALUE from dual"); // execute command reader = DBHelper.ExecuteReader(cmd); // read the only record returned reader.Read(); // retrieve the first column result ssparamOUT = reader.GetInt32(0); } finally { if (reader != null) reader.Close(); DBTransactionManager.Current.ReleaseTransaction(tran); } } // MssExecuteFunction
IDbCommand cmd = DBHelper.CreateCommand(tran, "select RETVALUE(@paramIN, @paramOUT) from dual");
DBHelper.AddParameter(cmd, "@paramIN", DbType.String, ssparamIN); IDbDataParameter outParam = DBHelper.AddParameter(cmd, "@paramOUT", DbType.String); outParam.Direction = ParameterDirection.Output; outParam.Size = 256;
// execute command reader = DBHelper.ExecuteReader(cmd); // read the only record returned reader.Read(); // retrieve the first column result int functionReturn = reader.GetInt32(0);
string outParamReturn = (String)outParam.Value;