blogjava's web log

blogjava's web log
...

java调oracle返回游标

create   or   replace  package mypack  is
 Type ref_cur 
is  ref  cursor ;
 
function  getCur  return  ref_cur;
end

create   or   replace  package body mypack  as
  
function  getCur  return  ref_cur  is
    cur1 ref_cur ;
    
begin
       
open  cur1  for   select   *   from  sales;
       
return  cur1;
    
end
  
end  mypack;

  
 
  -- java代码
  
package  store;
import  java.sql. * ;
import  oracle.jdbc. * ;
public   class  Test  {
    
public  Test()  {
    }

   Connection conn 
=   null ;
    
public   static   void  main(String[] args)  {
        Test test 
=   new  Test();
        test.openCursor();
    }

    
private   void  getConnection()  throws  ClassNotFoundException, SQLException  {
        Class.forName(
" oracle.jdbc.driver.OracleDriver " );
        String url
= " jdbc:oracle:thin:@localhost:1521:ydgl " ;
        conn
= DriverManager.getConnection(url, " system " , " manager " );
    }

    
public   void  openCursor()
    
{
   
   ResultSet rs 
=   null ;
   CallableStatement stmt 
=   null ;
   String sql 
=   " {? = call mypack.getCur()} " ;
  
try
  

   getConnection();
   stmt 
=  conn.prepareCall(sql);
   stmt.registerOutParameter(
1 ,OracleTypes.CURSOR);
   stmt.execute();

   rs 
=  ((OracleCallableStatement)stmt).getCursor( 1 );

   
while (rs.next())

  
{
   String xm 
=  rs.getString( 1 );
   Date dtime 
=  rs.getDate( 2 );
   
int  count = rs.getInt( 3 );
   String city
= rs.getString( 5 );
   System.out.println(
" name: " + xm + "  | Time: " +  dtime.toLocaleString() + "  | Count: " + count + "  |City: " + city);
   }

 }

catch (Exception ex) {
   ex.printStackTrace();
  }

}

 

posted on 2006-04-28 21:11 record java and net 阅读(976) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航:
 

导航

常用链接

留言簿(44)

新闻档案

2.动态语言

3.工具箱

9.文档教程

友情链接

搜索

最新评论