tbwshc

          Java調用SQL Server的存儲過程詳解

          1使用不帶參數的存儲過程

            1

            {call procedure-name}

            作為實例,在 SQL Server 2005 AdventureWorks 示例數據庫中創建以下存儲過程:

            CREATE PROCEDURE GetContactFormalNames

            AS BEGIN SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName

            FROM Person.Contact END

            此存儲過程返回單個結果集,其中包含一列數據(由 Person.Contact 表中前十個聯系人的稱呼、名稱和姓氏組成)。

            在下面的實例中,將向此函數傳遞 AdventureWorks 示例tb數據庫的打開連接,然后使用 executeQuery 方法調用 GetContactFormalNames 存儲過程。

            public static void executeSprocNoParams(Connection con)

            …{

            try …{

            Statement stmt = con.createStatement();

            ResultSet rs = stmt.executeQuery("{call dbo.GetContactFormalNames}");

            while (rs.next())

            …{

            System.out.println(rs.getString("FormalName"));

            }

            rs.close();

            stmt.close();

            }

            catch (Exception e)

            …{

            e.printStackTrace();

            }

            }

            2使用帶有輸入參數的存儲過程

            使用 JDBC 驅動程序調用帶參數的存儲過程時,必須結合 SQLServerConnection 類的 prepareCall 方法使用 call SQL 轉義序列。帶有 IN 參數的 call 轉義序列的語法如下所示:

            {call procedure-name[([parameter][,[parameter]]…)]}http://jie.baijiale.94ibc.com

            構造 call 轉義序列時,請使用 ?(問號)字符來指定 IN 參數。此字符充當要傳遞給該存儲過程的參數值的占位符??梢允褂?SQLServerPreparedStatement 類的 setter 方法之一為參數指定值。可使用的 setter 方法由 IN 參數的數據類型決定。

            向 setter 方法傳遞值時,不僅需要指定要在參數中使用的實際值,還必須指定參數在存儲過程中的序數位置。例如,如果存儲過程包含單個 IN 參數,則其序數值為 1.如果存儲過程包含兩個參數,則第一個序數值為 1,第二個序數值為 2.

            作為如何調用包含 IN 參數的存儲過程的實例,使用 SQL Server 2005 AdventureWorks 示例數據庫中的 uspGetEmployeeManagers 存儲過程。此存儲過程接受名為 EmployeeID 的單個輸入參數

          posted on 2013-10-24 17:05 chen11-1 閱讀(639) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 托克托县| 荥阳市| 望都县| 醴陵市| 台州市| 汕尾市| 同心县| 和林格尔县| 德惠市| 濮阳县| 锡林郭勒盟| 哈巴河县| 岑溪市| 武威市| 博客| 精河县| 格尔木市| 西藏| 安岳县| 平阴县| 花莲市| 石阡县| 临海市| 广河县| 新兴县| 沈阳市| 德格县| 五河县| 双桥区| 木兰县| 临桂县| 志丹县| 四子王旗| 昭觉县| 城固县| 白沙| 辽中县| 鸡东县| 长岭县| 江山市| 吉安市|