posts - 431,  comments - 344,  trackbacks - 0

          內容或簡介:
          /**
          調用數據庫里的一個函數
          一個函數本質上一個返回一個結果的存儲過程,這個例子示范了怎么調用有in、out和in/out參數的函數
          ***********************************/
          CallableStatement cs;
          try {
          // 調用一個沒有參數的函數; 函數返回 a VARCHAR
          // 預處理callable語句 
              cs = connection.prepareCall("{? = call myfunc}");

          // 注冊返回值類型
              cs.registerOutParameter(1, i);

          // Execute and retrieve the returned value
              cs.execute();
              String retValue = cs.getString(1);

          // 調用有一個in參數的函數; the function returns a VARCHAR
              cs = connection.prepareCall("{? = call myfuncin(?)}");

          // Register the type of the return value
              cs.registerOutParameter(1, Types.VARCHAR);

          // Set the value for the IN parameter
              cs.setString(2, "a string");

          // Execute and retrieve the returned value
              cs.execute();
              retValue = cs.getString(1);

          // 調用有一個out參數的函數; the function returns a VARCHAR
              cs = connection.prepareCall("{? = call myfuncout(?)}");

          // Register the types of the return value and OUT parameter
              cs.registerOutParameter(1, Types.VARCHAR);
              cs.registerOutParameter(2, Types.VARCHAR);

          // Execute and retrieve the returned values
              cs.execute();
              retValue = cs.getString(1);           // return value
              String outParam = cs.getString(2);    // OUT parameter

          // 調用有一個in/out參數的函數; the function returns a VARCHAR
              cs = connection.prepareCall("{? = call myfuncinout(?)}");

          // Register the types of the return value and OUT parameter
              cs.registerOutParameter(1, Types.VARCHAR);
              cs.registerOutParameter(2, Types.VARCHAR);

          // Set the value for the IN/OUT parameter
              cs.setString(2, "a string");

          // Execute and retrieve the returned values
              cs.execute();
              retValue = cs.getString(1);           // return value
              outParam = cs.getString(2);           // IN/OUT parameter
          } catch (SQLException e) {
          }

          posted on 2009-03-11 21:05 周銳 閱讀(267) 評論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 石楼县| 四平市| 达孜县| 彭水| 霸州市| 黑水县| 泸溪县| 文安县| 南丹县| 罗江县| 巴青县| 定襄县| 芮城县| 苏尼特右旗| 新兴县| 赤壁市| 长丰县| 即墨市| 明光市| 突泉县| 巴彦县| 镇安县| 泗水县| 昭平县| 枞阳县| 安塞县| 崇义县| 宝鸡市| 建德市| 晴隆县| 桦川县| 平乐县| 阿合奇县| 濉溪县| 富民县| 且末县| 邵武市| 平度市| 卫辉市| 平顶山市| 吉木萨尔县|