[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.
下面介紹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.
相关文章推荐
- 使用oracle odp.net 11g的.net程序发布方法
- [转帖]使用asp.net访问Oracle的方法汇总
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- 使用Oracle ODP.NET 11g的.NET程序发布方法(转)
- (ZT)[Oracle]ASP.NET中使用ODP.NET(ODAC)對含有自定義類型參數的存儲過程進行操作
- 使用Oracle ODP.NET 11g的.NET程序发布方法
- 使用Oracle ODP.NET 11g的.NET程序发布方法
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- .net4.0中使用ODP.net访问Oracle数据库(无需安装oracle客户端部署方法)
- [Oracle]ASP.NET中使用ODP.NET(ODAC)對含有自定義類型參數的存儲過程進行操作
- 使用Oracle ODP.NET 11g的.NET程序发布方法
- 使用ODP.NET连接Oracle数据库一个OracleCommand运行多条SQL语句的方法
- [Oracle]ASP.NET中使用ODP.NET(ODAC)對含有自定義類型參數的存儲過程進行操作
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- 使用Oracle ODP.NET 11g的.NET程序发布方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法
- asp.net中cache的使用方法
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- asp.net XML导入SQL数据库(2)使用foreach方法