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

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

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

    hello world

    隨筆 - 2, 文章 - 63, 評論 - 0, 引用 - 0
    數據加載中……

    JAVA調用數據庫的存儲過程

    下午調試了一個調用數據庫存儲過程的片段,居然弄了兩三個小時,下邊小小總結一下。
    關鍵代碼:
    1??? String sql="CALL pkg_rfts_global.sp_gui_delete_Object(?)";
    2????CallableStatement inoutProc=(CallableStatement) conn.prepareCall(sql);
    3????inoutProc.registerOutParameter(1,4);
    4????inoutProc.setInt(1,9450);
    5??? inoutProc.execute();
    6????inoutProc.close();

    整個過程就如上了,sql就是一個存儲字符串的變量;con是事先已經和數據庫連接好的連接(Connection類);inoutProc就是CallableStatement 類的一個實例;
    第一句話就是要執行的命令語句,pkg_rfts_global是包名,sp_gui_delete_Object是存儲過程名,看老師給我們演示時還有在最前面加入登陸用戶名的,這里沒有也通過了,可能是已經登陸的原因。小括號里是變量,這里是在存儲過程中定義的,這個存儲過程就定義了一個變量。第三行是設置變量輸出時的大小,如registerOutParameter方法指定了上述的第一個參數大小為4;第三句話是設置參數,setInt方法設置了第一個參數的整形值為9450;第五句話開始執行這個語句;最后關閉。
    出現的問題(因為是第一次用,很弱智的說):
    1、沒有加CALL;
    2、在語句后面多了一個“;”;

    再貼幾句話:
    ??????????????? cs.registerOutParameter(2, java.sql.Types.INTEGER);
    ??????????????? cs.registerOutParameter(4, java.sql.Types.VARCHAR);
    ??????????????? cs.registerOutParameter(10, java.sql.Types.FLOAT);
    ??????????????? cs.registerOutParameter(20, java.sql.Types.VARCHAR);
    cs和inoutProc是一個類型了,這是在定義變量輸出時大小的另外一種方法。

    posted on 2008-07-22 15:46 聽風 閱讀(281) 評論(0)  編輯  收藏 所屬分類: JAVA

    主站蜘蛛池模板: 四虎永久在线精品免费观看地址| 亚洲午夜精品久久久久久浪潮| 四虎在线最新永久免费| 国产V亚洲V天堂无码| 七色永久性tv网站免费看| 亚洲va久久久噜噜噜久久男同| 亚洲老熟女@TubeumTV| 99re热精品视频国产免费| 亚洲精品私拍国产福利在线| 精品在线免费观看| 亚洲国产综合精品中文第一区| 亚洲av无码有乱码在线观看| 国产免费小视频在线观看| 国产亚洲精品欧洲在线观看| 亚洲精品天堂成人片?V在线播放| 亚洲黄色免费网址| 国产电影午夜成年免费视频| 亚洲国产成人精品无码区在线网站| 一级视频在线免费观看| 亚洲AV无码一区二区三区在线观看| 婷婷亚洲综合五月天小说| 中文精品人人永久免费| 亚洲午夜久久影院| 最近免费中文字幕大全| 色屁屁www影院免费观看视频 | 国产99久久亚洲综合精品| 日韩免费在线观看| 亚洲免费黄色网址| 免费视频成人片在线观看| 亚洲国产成人九九综合| 国产免费av一区二区三区| 不卡视频免费在线观看| 亚洲不卡在线观看| 亚洲日韩中文字幕日韩在线| 久久aⅴ免费观看| 亚洲日韩精品国产3区| 亚洲中文字幕无码久久2017| 免费看成人AA片无码视频羞羞网| 久久激情亚洲精品无码?V| 99热免费在线观看| 免费看黄福利app导航看一下黄色录像|