blogjava's web log

          blogjava's web log
          ...

          java調(diào)oracle返回游標(biāo)

          create ? or ? replace ?package?mypack? is
          ?Type?ref_cur?
          is ?ref? cursor ;
          ?
          function ?getCur? return ?ref_cur;
          end ;?

          create ? or ? replace ?package?body?mypack? as
          ??
          function ?getCur? return ?ref_cur? is
          ????cur1?ref_cur?;
          ????
          begin
          ???????
          open ?cur1? for ? select ? * ? from ?sales;
          ???????
          return ?cur1;
          ????
          end ;?
          ??
          end ?mypack;

          ??
          ?
          ? -- java代碼
          ??
          package ?store;
          import ?java.sql. * ;
          import ?oracle.jdbc. * ;
          public ? class ?Test? {
          ????
          public ?Test()? {
          ????}

          ???Connection?conn?
          = ? null ;
          ????
          public ? static ? void ?main(String[]?args)? {
          ????????Test?test?
          = ? new ?Test();
          ????????test.openCursor();
          ????}

          ????
          private ? void ?getConnection()? throws ?ClassNotFoundException,?SQLException? {
          ????????Class.forName(
          " oracle.jdbc.driver.OracleDriver " );
          ????????String?url
          = " jdbc:oracle:thin:@localhost:1521:ydgl " ;
          ????????conn
          = DriverManager.getConnection(url, " system " , " manager " );
          ????}

          ????
          public ? void ?openCursor()
          ????
          {
          ???
          ???ResultSet?rs?
          = ? null ;
          ???CallableStatement?stmt?
          = ? null ;
          ???String?sql?
          = ? " {??=?call?mypack.getCur()} " ;
          ??
          try
          ??
          {?
          ???getConnection();
          ???stmt?
          = ?conn.prepareCall(sql);
          ???stmt.registerOutParameter(
          1 ,OracleTypes.CURSOR);
          ???stmt.execute();

          ???rs?
          = ?((OracleCallableStatement)stmt).getCursor( 1 );

          ???
          while (rs.next())

          ??
          {
          ???String?xm?
          = ?rs.getString( 1 );
          ???Date?dtime?
          = ?rs.getDate( 2 );
          ???
          int ?count = rs.getInt( 3 );
          ???String?city
          = rs.getString( 5 );
          ???System.out.println(
          " name: " + xm + " ?|?Time: " + ?dtime.toLocaleString() + " ?|?Count: " + count + " ?|City: " + city);
          ???}

          ?}

          catch (Exception?ex) {
          ???ex.printStackTrace();
          ??}

          }

          ?

          posted on 2006-04-28 21:11 record java and net 閱讀(982) 評論(0)  編輯  收藏 所屬分類: java

          導(dǎo)航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動態(tài)語言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 木里| 铁力市| 思南县| 兴义市| 滕州市| 彭水| 贞丰县| 科尔| 图片| 噶尔县| 西畴县| 康定县| 宜昌市| 柘城县| 平邑县| 林甸县| 青田县| 虎林市| 乐都县| 安阳市| 黑龙江省| 阿勒泰市| 桂阳县| 枝江市| 罗定市| 望都县| 南溪县| 图片| 桐柏县| 昌吉市| 黄骅市| 临沭县| 上林县| 泸水县| 张家口市| 祁门县| 兴化市| 肥东县| 友谊县| 西乌珠穆沁旗| 开平市|