public bool RunProcedure(string ReturnParameter,OracleType ParamType,ref DataSet Dataset,Hashtable HT ,string ProcedureName,string OracleConnection)
{
System.Data.OracleClient.OracleConnection dsconnection = new System.Data.OracleClient.OracleConnection(OracleConnection);
System.Data.OracleClient.OracleCommand dacommand = new System.Data.OracleClient.OracleCommand(ProcedureName,dsconnection);
dsconnection.Open();
dacommand.CommandType=CommandType.StoredProcedure;
IDictionaryEnumerator Enumerator;
Enumerator = HT.GetEnumerator();
object Value=null;
OracleParameter OracleParam;
OracleParam = dacommand.Parameters.Add(new OracleParameter(ReturnParameter,ParamType));
OracleParam.Direction = ParameterDirection.Output;
while(Enumerator.MoveNext())
{
Value = Enumerator.Value;
OracleParam=dacommand.Parameters.Add(new OracleParameter(Enumerator.Key.ToString(), Value));
}
OracleDataAdapter ODAdapter=new OracleDataAdapter(dacommand);
try
{
ODAdapter.Fill(Dataset);
return true;
}
catch(System.Exception e)
{
e.ToString();
return false;
}
finally
{
HT.Clear();
dacommand.Parameters.Clear();
dsconnection.Close();
}
}
{
System.Data.OracleClient.OracleConnection dsconnection = new System.Data.OracleClient.OracleConnection(OracleConnection);
System.Data.OracleClient.OracleCommand dacommand = new System.Data.OracleClient.OracleCommand(ProcedureName,dsconnection);
dsconnection.Open();
dacommand.CommandType=CommandType.StoredProcedure;
IDictionaryEnumerator Enumerator;
Enumerator = HT.GetEnumerator();
object Value=null;
OracleParameter OracleParam;
OracleParam = dacommand.Parameters.Add(new OracleParameter(ReturnParameter,ParamType));
OracleParam.Direction = ParameterDirection.Output;
while(Enumerator.MoveNext())
{
Value = Enumerator.Value;
OracleParam=dacommand.Parameters.Add(new OracleParameter(Enumerator.Key.ToString(), Value));
}
OracleDataAdapter ODAdapter=new OracleDataAdapter(dacommand);
try
{
ODAdapter.Fill(Dataset);
return true;
}
catch(System.Exception e)
{
e.ToString();
return false;
}
finally
{
HT.Clear();
dacommand.Parameters.Clear();
dsconnection.Close();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货