网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.影响ORACLE性能的源头:性能调优.
.细说容灾备份的等级和技术.
.缩小数据库日志的另类方法代码分.
.Oracle安全全程接触(完整版)一.
.v$logmnr_content create statem.
.ExactPapers Oracle 1Z0-025 200.
.Oracle中用Rowid查找和删除重复记.
.解决启动Oracle9i中OEM或OMS常见.
.[技术]sql 调优整理.
.从SCN看热备份的原理.
.VB调用Oracle返回数据集.
.Oracle内存结构(二)----Shared P.
.案例学习Oracle错误:ORA-01631.
.解析:Oracle 10g EM Database C.
.Oracle 9i的数据表类型.
.用show parameter直接显示Oracle.
.新手入门:学好Oracle的六条总结.
.利用Oracle解析函数快速检查序列.
.ORACLE常用傻瓜問題1000問(之十二.
.SQLPlus使用技巧点滴.

Oracle Package返回游标和Java调用

发表日期:2008-2-9



  创建测试Oracle包: Oracle Package返回游标和Java调用 create or replace package pkg_test as Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用type t_ref is ref cursor; Oracle Package返回游标和Java调用procedure p_test(cur_ref out t_ref); Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用end pkg_test; Oracle Package返回游标和Java调用/ Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用create or replace package body pkg_test as Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用procedure p_test(cur_ref out t_ref) is Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用begin Oracle Package返回游标和Java调用open cur_ref for 'select * from test'; Oracle Package返回游标和Java调用end p_test; Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用end pkg_test; Oracle Package返回游标和Java调用/
  
  下面是jdbc代码的调用。   当然假如采用jdbc直接获得Connection下面的代码是没问题的。 Oracle Package返回游标和Java调用oracle.jdbc.OracleCallableStatement cs = null; Oracle Package返回游标和Java调用String sqlStr = "{call firstpage.getSeniorHighSchool(?,?,?)}"; Oracle Package返回游标和Java调用ResultSet rs = null; Oracle Package返回游标和Java调用try{ Oracle Package返回游标和Java调用cs = (oracle.jdbc.OracleCallableStatement)conn.prepareCall(sqlStr); Oracle Package返回游标和Java调用cs.setLong(1,arg[0]); Oracle Package返回游标和Java调用cs.setLong(2,arg[1]); Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR); Oracle Package返回游标和Java调用cs.execute(); Oracle Package返回游标和Java调用rs = cs.getCursor(3); Oracle Package返回游标和Java调用 Oracle Package返回游标和Java调用while(rs.next()){ Oracle Package返回游标和Java调用//........... Oracle Package返回游标和Java调用} Oracle Package返回游标和Java调用rs.close(); Oracle Package返回游标和Java调用cs.close(); Oracle Package返回游标和Java调用}catch(Exception e){ Oracle Package返回游标和Java调用System.out.println("prodUCe error "); Oracle Package返回游标和Java调用e.printStackTrace(); Oracle Package返回游标和Java调用}
  但是,假如采用连接池(比如:采用Weblogic或jboss等web服务器自带的连接池) 哈哈,这段代码就会让你头疼了。不信你试试。抛出CastClassException哈哈。   下面是另一种写法,保你没事。这种写法风水好。哈哈 Oracle Package返回游标和Java调用CallableStatement cs = null; Oracle Package返回游标和Java调用cs = conn.prepareCall(sql); Oracle Package返回游标和Java调用cs.setInt(1,maxrow); Oracle Package返回游标和Java调用cs.setInt(2,minrow); Oracle Package返回游标和Java调用cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR); Oracle Package返回游标和Java调用cs.execute(); Oracle Package返回游标和Java调用rs = (ResultSet)cs.getObject(3);   差别很简单。   可以看看weblogic和jboss实现连接池的代码就知道了。   一路ok了。

上一篇:Oracle10g v$database视图SCN增强 人气:702
下一篇:Oracle 8i中回滚段使用和ORA-1555 人气:663
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐