在Java中调用Oracle的过程和函数

2016-02-19 15:41 4 1 收藏

有了下面这个在Java中调用Oracle的过程和函数教程,不懂在Java中调用Oracle的过程和函数的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

 内容或简介:
  
  /**
  
  调用数据库里的一个函数
  
  一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数
  
  ***********************************/
  CallableStatement cs;
  try {
  // 调用一个没有参数的函数; 函数返回 a VARCHAR
  // 预处理callable语句
  
  cs = connection.prepareCall("{? = call myfunc}");
  
  // 注册返回值类型
  cs.registerOutParameter(1, i);
  
  // Execute and retrieve the returned value
  cs.execute();
  String retValue = cs.getString(1);
  
  // 调用有一个in参数的函数; the function returns a VARCHAR
  cs = connection.prepareCall("{? = call myfuncin(?)}");
  
  // Register the type of the return value
  cs.registerOutParameter(1, Types.VARCHAR);
  
  // Set the value for the IN parameter
  cs.setString(2, "a string");
  
  // Execute and retrieve the returned value
  cs.execute();
  retValue = cs.getString(1);
  
  // 调用有一个out参数的函数; the function returns a VARCHAR
  cs = connection.prepareCall("{? = call myfuncout(?)}");
  
  // Register the types of the return value and OUT parameter
  cs.registerOutParameter(1, Types.VARCHAR);
  cs.registerOutParameter(2, Types.VARCHAR);
  
  // Execute and retrieve the returned values
  cs.execute();
  retValue = cs.getString(1);      // return value
  String outParam = cs.getString(2);  // OUT parameter
  
  // 调用有一个in/out参数的函数; the function returns a VARCHAR
  cs = connection.prepareCall("{? = call myfuncinout(?)}");
  
  // Register the types of the return value and OUT parameter
  cs.registerOutParameter(1, Types.VARCHAR);
  cs.registerOutParameter(2, Types.VARCHAR);
  
  // Set the value for the IN/OUT parameter
  cs.setString(2, "a string");
  
  // Execute and retrieve the returned values
  cs.execute();
  retValue = cs.getString(1);      // return value
  outParam = cs.getString(2);      // IN/OUT parameter
  } catch (SQLException e) {
  }

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1610209.html

延伸阅读
标签: Web开发
1 这也是最简单的方法,两个输入参数,无返回值: set connection = server.createobject("adodb.connection") connection.open someDSN  Connection.Execute "procname varvalue1, varvalue2"  '将所有对象清为nothing,释放资源 connection.close set connection = n...
在 C++ 中我们能够通过 LoadLibrary, GetProcAddress 来动态调用 dll 的导出函数. 在 C# 中也能够用这样的方式吗? 在 DotNet 2.0 里面这样是可以的, 这完全得益于 2.0新增的一个函数,Marshal.GetDelegateForFunctionPointer 方法。此方法在 .NET Framework 2.0 版中是新增的。 将非托管函数指针转换为委托。 实例代...
标签: Web开发
function funcA(){        funcB();        //other code  }  怎么定义函数B,让B在运行的时候不仅能终止B本身,而且能终止函数A的运行?  这是个非常规的问题,我们分两大部分讨论. (1.为什么一定这样做 2.怎么实现) 1. 显然,这种编码方式已经打乱了正规的程序...
/* * 创建日期 2005-9-27 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ package person.fane.test; import java.sql.*; /** * A JDBC test application for Oracle * @author Fane * @version 1.0.0 * @since JDK1.4 */ ...
标签: SQLServer
SQL server 的 T-Sql 语言的功能是 非常的强大,但是有个时候 也确实是有些限制和不方便,为什么不象 asp 一样 大量的借用组件呢?开始在 Sql online book 中查找,终于找到了 一个 Sql 的 系统存储过程 sp_OACreate,下面大家就一起去 看看这个 存储过程的神气之处吧 s首先我们先用VB 作一个最简单的组件 ,因为是介绍性的文章,所以这个组件是...

经验教程

92

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部