<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

    主站蜘蛛池模板: 欧美大片日韩精品| 久久精品成人国产午夜| 91老司机深夜福利精品视频在线观看 | 四虎影永久在线观看精品| 国产精品自在欧美一区| 国产精品无码日韩欧| 国产亚洲精品无码拍拍拍色欲| 国产精品色内内在线播放| 亚洲精品97久久中文字幕无码| 99热亚洲精品6码| 国产精品免费无遮挡无码永久视频| 亚洲福利精品一区二区三区| 国产vA免费精品高清在线观看 | 日本精品久久久久久久久免费| 亚洲国产精品国自产拍电影| 99精品全国免费观看视频..| 91大神精品全国在线观看| 国产精品视频二区不卡| 麻豆成人久久精品二区三区免费| 欧美日韩国产成人高清视频,欧美日韩在线精品一| 精品九九久久国内精品| 久久66热人妻偷产精品9| 亚洲?V乱码久久精品蜜桃| 成人一区二区三区精品| 午夜影视日本亚洲欧洲精品一区| 99精品国产一区二区三区| 国产成人无码精品一区二区三区| 少妇伦子伦精品无码STYLES| 一本久久精品一区二区| 无码精品人妻一区二区三区免费 | 久久久久国产精品熟女影院| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 精品国内自产拍在线观看 | 亚洲精品成人a在线观看| 久久久久无码精品国产app| 国产麻豆精品入口在线观看 | 国语自产少妇精品视频| 久久久久人妻一区精品色| 亚洲国产精品无码久久一区二区| 一本色道久久88综合日韩精品| 亚洲人成电影网站国产精品|