<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java中調用Oracle包的過程

    時間:2024-06-27 21:21:55 Oracle認證 我要投稿
    • 相關推薦

    Java中調用Oracle包的過程

      在Java中調用Oracle包是我們程序員經常遇到的事情,那么它具體的過程是怎么樣的呢?我們一起來看看!

      一、先在oracle中編寫測試過程

      1、首選建一個測試表

      -- Create table

      create table BOOK

      (

      BOOKID VARCHAR2(50) not null,

      BOOKNAME VARCHAR2(50) not null,

      PUBLISHER VARCHAR2(50) not null,

      PRICE VARCHAR2(50) null

      )

      2、編寫ORACLE測試過程

      CREATE OR REPLACE PACKAGE pkg_test

      AS

      TYPE myrctype IS REF CURSOR;

      PROCEDURE get (p_id VARCHAR2, p_str OUT VARCHAR2, p_rc OUT myrctype);

      END pkg_test;

      /

      CREATE OR REPLACE PACKAGE BODY pkg_test

      AS

      PROCEDURE get (p_id VARCHAR2, p_str OUT VARCHAR2,p_rc OUT myrctype)

      IS

      sqlstr VARCHAR2 (500);

      BEGIN

      p_str := ''''Hello,may~'''';

      IF p_id = ''''all'''' THEN

      OPEN p_rc FOR

      SELECT *

      FROM BOOK;

      ELSE

      sqlstr :=

      ''''select *

      from BOOK where BOOKID=:w_id'''';

      OPEN p_rc FOR sqlstr USING p_id;

      END IF;

      END get;

      END pkg_test;

      /

      在這里我們建立了一個輸入參數,為普通類型,兩個輸出參數,其中一個為普通VARCHAR2型,另一個為特殊的記錄集類型。

      (注:在數據庫端測試一下這個過程,以確保沒有問題,開始下面的操作~:)

      二、編寫JAVA代碼測試過程

      /*

      * 創建日期: 2003-8-8

      */

      package JDBC;

      /**

      * 作者:may

      * 時間:15:09:23

      */

      import java.sql.*;

      import oracle.jdbc.driver.*;

      public class proctest {

      public static void main(String[] args) {

      proctest pc = new proctest();

      pc.ShowContent();

      }

      String sDBDriver="oracle.jdbc.driver.OracleDriver";

      String sConnStr="jdbc:oracle:thin:@10.3.8.48:1521:ORADB";

      Connection connect=null;

      ResultSet rs = null;

      public proctest(){

      try{

      Class.forName(sDBDriver);

      }

      catch(ClassNotFoundException e){

      System.err.println(e.getMessage());

      }

      }

      public ResultSet ShowContent()

      {

      try{

      connect = DriverManager.getConnection(sConnStr,"SHUIBJ","SHUIBJ");

      CallableStatement stmt = connect.prepareCall("{call PKG_TEST.GET(?,?,?)}");

      stmt.setString(1,"all"); //輸入參數

      stmt.registerOutParameter(2,Types.CHAR); //輸出參數為普通參數

      stmt.registerOutParameter(3,OracleTypes.CURSOR); //輸出參數為結果集參數

      stmt.executeQuery();

      rs = ((OracleCallableStatement) stmt).getCursor(3); //得到輸出結果集參數

      ResultSetMetaData rsmd = rs.getMetaData();

      int numberOfColumns = rsmd.getColumnCount();

      String str = stmt.getString(2);

      System.out.println("第二個參數為:"+str);

      System.out.println("結果集列數"+numberOfColumns);

      //列出結果集中的記錄

      ResultSetMetaData md = rs.getMetaData();

      int nColumns = md.getColumnCount();

      for (int i=1;i<=nColumns;i++){

      System.out.print(md.getColumnName(i)+((i==nColumns)?"\n":"\t"));

      if(i==2) System.out.print("\t");

      }

      while (rs.next()){

      for(int i=1;i<=nColumns;i++){

      System.out.print(rs.getString(i)+((i==nColumns)?"\n":"\t"));

      }

      }

      }

      catch(SQLException ex){

      System.err.println(ex.getMessage()+"連數據庫有問題!");

      }

      return rs;

      }

      }

      輸出結果為:

      第二個參數為:Hello,may~

      結果集列數4

      BOOKID BOOKNAME PUBLISHER PRICE

      001-22-23-1 jsp 應用開發詳解 電子工業出版社 123

      123 uml參考手冊 機械工業出版社 34

    主站蜘蛛池模板: 精品亚洲视频在线观看| 亚洲国产精品一区二区成人片国内| 日产国产精品亚洲系列| 国产精品99久久精品| 亚洲线精品一区二区三区| 国产一在线精品一区在线观看| 国产精品一级香蕉一区| 少妇伦子伦精品无码STYLES| 精品伦精品一区二区三区视频| 国产69精品久久久久777| 最新精品露脸国产在线 | 欧美精品成人3d在线| 99爱在线视频这里只有精品| 69国产成人综合久久精品| 亚洲av永久无码精品古装片| 久久亚洲国产成人精品无码区| 91亚洲国产成人久久精品| 久久久国产精品网站| 91久久精品91久久性色| 精品无码人妻一区二区三区品| 亚洲AV无码精品色午夜果冻不卡 | 色欲国产麻豆一精品一AV一免费| 久久久精品视频免费观看| 精品人妻伦九区久久AAA片69| 国产福利电影一区二区三区,亚洲国模精品一区 | 精品久久久久久亚洲| 国产a视频精品免费观看| 国产精品人人爽人人做我的可爱| 久久久无码精品亚洲日韩按摩| 亚洲AV成人无码久久精品老人| 亚洲精品无码精品mV在线观看| 中文无码久久精品| 十八18禁国产精品www| 精品永久久福利一区二区| 国产精品视频一区二区噜噜| 国产精品igao视频网网址| 国内精品免费视频精选在线观看 | 亚洲精品无码mv在线观看网站| 亚洲精品乱码久久久久久蜜桃| 亚洲精品和日本精品| 亚洲第一极品精品无码久久|