posts - 431,  comments - 344,  trackbacks - 0

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

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

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

          // 調(diào)用有一個(gè)in參數(shù)的函數(shù); 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);

          // 調(diào)用有一個(gè)out參數(shù)的函數(shù); 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

          // 調(diào)用有一個(gè)in/out參數(shù)的函數(shù); 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 周銳 閱讀(259) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 清涧县| 泽普县| 忻州市| 莱西市| 阆中市| 金坛市| 扎鲁特旗| 澎湖县| 芦溪县| 韩城市| 泗阳县| 瑞丽市| 深泽县| 新密市| 会泽县| 合作市| 太和县| 罗山县| 社旗县| 建德市| 图们市| 安远县| 广饶县| 铜陵市| 沂源县| 金秀| 时尚| 泌阳县| 连江县| 长治县| 永昌县| 双峰县| 鞍山市| 凤庆县| 台州市| 江门市| 宽甸| 台南市| 江山市| 永德县| 张家川|