您的位置:首页 > 数据库 > Oracle

[Oracle]ASP.NET中使用ODP.NET的DeriveParameters方法得到存儲過程的參數列表並傳值.

2010-01-25 10:58 483 查看
ODP.NET是Oracle針對asp.net平臺出品的一個組件,他是ODAC的一部分,功能比microsoft的oracleclient強大.

下面介紹DeriveParameters方法的使用.

1.寫DataOP的公共操作類

代码

PlantInfo[] records = new PlantInfo[1];
PlantInfo record = new PlantInfo();
record.PLANT = "W000";
record.SUBPLANT = "MP";
records[0] = record;
       string spName = "MYPACK_TEST.TEST2;
       object[] parameterValues = new object[] { new object[]{records}, null };
DataTable dt = new DataTable();
OracleParameter[] commandParameters = GetSpParameters(spName, true);
AssignParameterValues(commandParameters, parameterValues);

OracleCommand cmd = new OracleCommand();
cmd.CommandType = CommandType.StoredProcedure;
foreach (OracleParameter pi in commandParameters)
cmd.Parameters.Add(pi);
cmd.CommandText = spName;
cmd.Connection = new OracleConnection(conStr);

try
{
if (cmd.Connection.State != ConnectionState.Open)
cmd.Connection.Open();

OracleDataReader reader = cmd.ExecuteReader();
// OracleDataReader reader = ((OracleRefCursor)cmd.Parameters[7].Value).GetDataReader();

dt.Load(reader);
}
catch (Exception e)
{
throw e;
}
finally
{
if (cmd.Connection.State != ConnectionState.Closed)
cmd.Connection.Close();
cmd.Dispose();
}
return dt;

Note:Direction = OutPut的傳值為null.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: