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

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

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

    sunfruit[請?jiān)L問http://www.fruitres.cn]

    --我相信JAVA能走得更遠(yuǎn) QQ:316228067

    JAVA調(diào)用返回結(jié)果集的存儲(chǔ)過程--Oracle

    ? --sunfruit

    建立存儲(chǔ)過程,存儲(chǔ)過程為:

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

    BEGIN

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

    END TESTC;

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

    在java里調(diào)用時(shí)就用下面的代碼:

    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) {

    ????? }

    ??? }

    ? }

    }

    在這里要注意,在執(zhí)行前一定要先把oracle的驅(qū)動(dòng)包放到class路徑里,否則會(huì)報(bào)錯(cuò)的。

    posted on 2006-06-15 09:36 sunfruit 閱讀(731) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    主站蜘蛛池模板: 免费av欧美国产在钱| 精品国产亚洲一区二区三区| 成全高清在线观看免费| 亚洲精品天堂无码中文字幕| 亚洲高清视频在线观看| 亚洲av成人一区二区三区在线观看| 亚洲一级免费视频| 3344在线看片免费| 色爽黄1000部免费软件下载| 亚洲综合小说另类图片动图| 777亚洲精品乱码久久久久久| gogo全球高清大胆亚洲| 无码国产精品久久一区免费| 91精品国产免费久久国语麻豆| 巨胸狂喷奶水视频www网站免费| 色欲色欲天天天www亚洲伊| 亚洲喷奶水中文字幕电影 | 亚洲一卡二卡三卡| 久久精品国产亚洲AV麻豆王友容| 精品国产亚洲男女在线线电影 | 亚洲a∨国产av综合av下载| 久久国产亚洲精品| 亚洲天天做日日做天天看| 精品亚洲一区二区| 91麻豆精品国产自产在线观看亚洲| 免费观看亚洲人成网站| 免费激情视频网站| 午夜dj免费在线观看| 成年性生交大片免费看 | 国产亚洲精aa在线看| 亚洲精品国产手机| 亚洲高清中文字幕| 亚洲沟沟美女亚洲沟沟| 久久精品国产亚洲AV大全| 亚洲久本草在线中文字幕| 久热综合在线亚洲精品| 久久精品国产亚洲AV嫖农村妇女| 亚洲AV永久无码精品水牛影视| 亚洲av综合avav中文| 亚洲国产精品人久久| 亚洲国产精品综合一区在线|