正 文

.NET访问Oracle数据库相关


www.7dspace.com  更新日期:2005-11-11 7:39:53  七度空间


  4。访问 Oracle 过程/函数(1)

  SQL Server 作程序时经常使用存储过程,Oracle 里也可以使用过程,还可以使用函数。Oracle 的过程似乎是不能有返回值的,有返回值的就是函数了(这点有些像 BASIC,函数/过程区分的很细致。SQL Server 存储过程是可以有返回值的)。

  .NET 访问 Oracle 过程/函数的方法很类似于 SQL Server,例如:

  OracleParameter[] parameters = {

  new OracleParameter("ReturnValue", OracleType.Int32, 0, ParameterDirection.ReturnValue, true, 0, 0, "",

  DataRowVersion.Default, Convert.DBNull )

  new OracleParameter("参数1", OracleType.NVarChar, 10),

  new OracleParameter("参数2", OracleType.DateTime),

  new OracleParameter("参数3", OracleType.Number, 1)

  };

  parameters[1].Value = "test";

  parameters[2].Value = DateTime.Now;

  parameters[3].Value = 1; // 也可以是 new OracleNumber(1);

  OracleConnection connection = new OracleConnection( ConnectionString );

  OracleCommand command = new OracleCommand("函数/程名", connection);

  command.CommandType = CommandType.StoredProcedure;

  foreach(OracleParameter parameter in parameters)

  command.Parameters.Add( parameter );

  connection.Open();

  command.ExecuteNonQuery();

  int returnValue = parameters[0].Value; //接收函数返回值

  connection.Close();

  Parameter 的 DbType 设定请参见 System.Data.OracleClient.OracleType 枚举的文档,比如:Oracle 数据库中 Number 类型的参数的值可以用 .NET decimal 或 System.Data.OracleClient.OracleNumber 类型指定; Integer 类型的参数的值可以用 .NET int 或 OracleNumber 类型指定。等等。

  上面例子中已经看到函数返回值是用名为“ReturnValue”的参数指定的,该参数为 ParameterDirection.ReturnValue 的参数。

4页,页码:[1] [2] [3] [4] 

上一篇:怎样Oracle中导入文本数据?
下一篇:SQL Server数据表的信息
作者:破宝(percyboy)  来源:博客堂 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐