<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    sunfruit[請訪問http://www.fruitres.cn]

    --我相信JAVA能走得更遠 QQ:316228067

    JAVA調用返回結果集的存儲過程--Oracle

    ? --sunfruit

    建立存儲過程,存儲過程為:

    CREATE OR REPLACE PROCEDURE TESTC(p_CURSOR out TESTPACKAGE.Test_CURSOR) IS

    BEGIN

    ??? OPEN p_CURSOR FOR SELECT * FROM HYQ.TESTTB;

    END TESTC;

    可以看到,它是把游標(可以理解為一個指針),作為一個out 參數來返回值的。

    在java里調用時就用下面的代碼:

    package com.hyq.src;

    import java.sql.*;

    import java.io.OutputStream;

    import java.io.Writer;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import oracle.jdbc.driver.*;

    public class TestProcedureTHREE {

    ? public TestProcedureTHREE() {

    ? }

    ? public static void main(String[] args ){

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

    ??? String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";

    ??? Statement stmt = null;

    ??? ResultSet rs = null;

    ??? Connection conn = null;

    ??? try {

    ????? Class.forName(driver);

    ????? conn =? DriverManager.getConnection(strUrl, "hyq", "hyq");

    ????? CallableStatement proc = null;

    ????? proc = conn.prepareCall("{ call hyq.testc(?) }");

    ????? proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);

    ????? proc.execute();

    ????? rs = (ResultSet)proc.getObject(1);

    ????? while(rs.next())

    ????? {

    ????????? System.out.println("<tr><td>" + rs.getString(1) + "</td><td>"+rs.getString(2)+"</td></tr>");

    ????? }

    ??? }

    ??? catch (SQLException ex2) {

    ????? ex2.printStackTrace();

    ??? }

    ??? catch (Exception ex2) {

    ????? ex2.printStackTrace();

    ??? }

    ??? finally{

    ????? try {

    ??????? if(rs != null){

    ????????? rs.close();

    ????????? if(stmt!=null){

    ??????????? stmt.close();

    ????????? }

    ????????? if(conn!=null){

    ??????????? conn.close();

    ????????? }

    ??????? }

    ????? }

    ????? catch (SQLException ex1) {

    ????? }

    ??? }

    ? }

    }

    在這里要注意,在執行前一定要先把oracle的驅動包放到class路徑里,否則會報錯的。

    posted on 2006-06-15 09:36 sunfruit 閱讀(738) 評論(0)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: ww亚洲ww在线观看国产| 日韩精品一区二区亚洲AV观看| 亚洲人成电影青青在线播放| 午夜免费福利片观看| 亚洲宅男永久在线| 日韩人妻无码精品久久免费一| 亚洲AV无码一区二区三区系列 | 在线观看亚洲免费视频| 日韩高清在线免费看| 亚洲AV无码一区二区三区久久精品| 狠狠久久永久免费观看| 午夜亚洲国产精品福利| av在线亚洲欧洲日产一区二区| 国产日韩在线视频免费播放| 亚洲精品国产美女久久久| 久9热免费精品视频在线观看| 亚洲精品午夜久久久伊人| 成年女人男人免费视频播放| 在线观看亚洲精品专区| 亚洲啪啪AV无码片| 1000部夫妻午夜免费| 亚洲最大中文字幕无码网站| 国产大片91精品免费看3| 国产免费AV片在线观看播放| 国精无码欧精品亚洲一区| 69av免费观看| 亚洲人成网站免费播放| 毛茸茸bbw亚洲人| 永久黄色免费网站| 亚洲av成人片在线观看| 国产亚洲A∨片在线观看| 95免费观看体验区视频| 亚洲成aⅴ人片久青草影院按摩| 亚洲性在线看高清h片| 久久久精品2019免费观看| 亚洲综合av一区二区三区 | 久久国产免费福利永久| 国产亚洲精品精品精品| 亚洲人成电影亚洲人成9999网| 最近中文字幕mv免费高清视频7| fc2成年免费共享视频网站|