posts - 28,  comments - 15,  trackbacks - 0
          ???在說明之前,先做一下準備工作.下面的說明主要針對SQL Server數據庫,另外要保證jtds驅動程序已經測試通過.

          1. 調用帶有輸入和輸出參數的存儲過程

          ?????????

          假設已經存在一個存儲過程user_registry_stat,其代碼如下:

          ???????????????
          CREATE PROCEDURE user_registry_stat(@stylebook int,@result?int output? )AS
          ????????????????????BEGIN
          ????????????????????/*不返回計數*/
          ??????????????????? SET NOCOUNT ON

          ??????????????????? DECLARE @total_amount int
          ??????????????????? SET @total_amount = (SELECT count(id) as amount from CP_USER)

          ??????????????????? IF(@total_amount>@stylebook)
          ????????????????????BEGIN
          ????????????????????????? @result = 1
          ????????????????????END
          ??????????????????? ELSE
          ????????????????????BEGIN
          ????????????????????????? @result =2
          ????????????????????END
          ???????????????
          ???????????????JAVA執行代碼如下:
          ???????????????public static void executeStoredProcedure(Connection con) {
          ?????????????????????try {
          ???????????????????????????CallableStatement cstmt = con.prepareCall("{call user_registry_s(?,?)}");
          ????????????????????????????cstmt.seInt(1, 50);
          ???????????????????????????cstmt.execute();
          ?????????????????????????? System.out.println("RETURN STATUS: " + cstmt.getInt(2));
          ???????????????????????????cstmt.close();
          ??????????????????????}catch (Exception e) {
          ?????????????????????????? e.printStackTrace();
          ?????????????????????}
          ??????????????????}
          2.?? 調用帶有返回狀態的存儲過程
          ????????????假設已經存在一個存儲過程user_registry_stat,其代碼如下:
          ??????????????????CREATE PROCEDURE user_registry_stat(@stylebook int)AS
          ????????????????????BEGIN
          ????????????????????/*不返回計數*/
          ??????????????????? SET NOCOUNT ON

          ??????????????????? DECLARE @total_amount int
          ??????????????????? SET @total_amount = (SELECT count(id) as amount from CP_USER)

          ??????????????????? IF(@total_amount>@stylebook)
          ????????????????????????return 1
          ??????????????????? ELSE
          ????????????????????????return 2
          ????????????
          ????????????java執行代碼如下:
          ????????????public static void executeStoredProcedure(Connection con) {
          ???????????????try {
          ??????????????????CallableStatement cstmt = con.prepareCall("{? = call user_registry_stat(?)}");
          ??????????????????cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
          ??????????????????cstmt.seInt(2, 50);
          ??????????????????cstmt.execute();
          ????????????????? System.out.println("RETURN STATUS: " + cstmt.getInt(1));
          ????????????
          ??????????????????cstmt.close();
          ????????????}catch (Exception e) {
          ???????????????e.printStackTrace();
          ????????????}
          ?????????}
          參考: http://msdn2.microsoft.com/zh-cn/library/ms378371.aspx

          posted on 2006-12-11 18:42 zhangxl 閱讀(486) 評論(0)  編輯  收藏 所屬分類: JDBC
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          隨筆分類(17)

          隨筆檔案(28)

          文章分類(30)

          文章檔案(30)

          相冊

          收藏夾(2)

          hibernate

          java基礎

          mysql

          xml

          關注

          壓力測試

          算法

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 96750
          • 排名 - 600

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 任丘市| 西安市| 无锡市| 南安市| 通化市| 武定县| 甘肃省| 阳原县| 长沙县| 三门峡市| 安国市| 无棣县| 海口市| 万盛区| 宁城县| 星子县| 富阳市| 昆明市| 景德镇市| 香港| 永胜县| 新绛县| 无为县| 铁岭市| 出国| 清水河县| 辉南县| 昭通市| 阜阳市| 县级市| 上林县| SHOW| 柳河县| 潮州市| 门头沟区| 滨海县| 和硕县| 新和县| 顺义区| 新疆| 墨脱县|