<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

    主站蜘蛛池模板: 久久这里只精品热免费99| 亚洲精品黄色视频在线观看免费资源 | 亚洲综合一区无码精品| 日日麻批免费40分钟日本的| 77777_亚洲午夜久久多人| 久久久精品免费视频| 亚洲av一综合av一区| 99久热只有精品视频免费看| 噜噜噜亚洲色成人网站∨| 91免费国产自产地址入| 亚洲中字慕日产2021| 九九九精品成人免费视频| 亚洲国产欧美日韩精品一区二区三区| 动漫黄网站免费永久在线观看| 亚洲高清一区二区三区| 精品国产精品久久一区免费式| 青青青亚洲精品国产| 久久久久亚洲AV综合波多野结衣 | 一个人免费高清在线观看| 亚洲欧洲无码AV不卡在线| 四虎影视精品永久免费| 中文字幕久无码免费久久| 亚洲欧洲日产国码久在线观看| 亚欧色视频在线观看免费| 亚洲性色精品一区二区在线| 免费一级毛片女人图片| 最新亚洲成av人免费看| 亚洲最大在线观看| 一区国严二区亚洲三区| 九九美女网站免费| 亚洲AV日韩综合一区尤物| 亚洲精品线路一在线观看| 99视频在线精品免费| 亚洲人成网站18禁止| 亚洲欧洲美洲无码精品VA | 在线免费观看毛片网站| 久久久久久噜噜精品免费直播| 亚洲天天做日日做天天欢毛片| 女人18毛片a级毛片免费| 在线观看免费无码视频| 亚洲综合丁香婷婷六月香|