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) 評(píng)論(0)  編輯  收藏 所屬分類: java

          導(dǎo)航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動(dòng)態(tài)語(yǔ)言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 西乡县| 汉川市| 乌苏市| 法库县| 浦城县| 大石桥市| 唐海县| 镇平县| 高州市| 历史| 靖安县| 仁化县| 白玉县| 子长县| 泽库县| 峡江县| 霍州市| 姜堰市| 黑山县| 建瓯市| 上高县| 兴安盟| 萨嘎县| 伊宁县| 神农架林区| 凤庆县| 阳东县| 石家庄市| 汾西县| 许昌市| 定州市| 舞阳县| 韩城市| 泸州市| 土默特右旗| 比如县| 澎湖县| 海伦市| 罗源县| 黄浦区| 遂川县|