CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

在JAVA中,如何通过数组传递数据给存储过程。

楼主orlando00()2004-12-10 11:40:09 在 Oracle / 开发 提问

目前,正在开发一个JAVA项目,需要传递一组数据给存储过程,比如批量创建一组用户。如何传递批量数据给存储过程那?请给一个JAVA和存储过程的例子。 问题点数:100、回复次数:4Top

1 楼liuyi8903(不让疑问伴随)回复于 2004-12-10 12:17:17 得分 40

/**  
        *   调用存储过程实现重新统计汇总  
        *   @param   date  
        */  
      private   static   void   getProcedure(String   date)   throws   DAOException   {  
          int   count   =   0;  
          DBconn   db   =   null;  
          ResultSet   rs   =   null;  
          Connection   conn   =   null;  
          CallableStatement   call   =   null;  
          try   {  
   
              db   =   new   DBconn();  
              conn   =   db.getConnection();  
   
              //此处为调用后台存储过程方法  
              call   =   conn.prepareCall("{call   pro_zjsgjk(?,?)}");  
   
              //登记输出参数为数字(out)  
              call.registerOutParameter(2,   java.sql.Types.INTEGER);  
   
              //登记输入参数为日期,一般为默认值,也就是系统当前时间  
              call.setString(1,   date);  
              rs   =   call.executeQuery();  
              count   =   call.getInt(2);  
              System.out.println("批量新增"+count+"条");  
          }  
          catch   (ConnectionException   e)   {  
              throw   new   DAOException(e,   "任务计划调度失败:钻井施工简况!");  
          }  
   
          catch   (SQLException   e)   {  
              throw   new   DAOException(e);  
          }  
   
          finally   {  
              if   (rs   !=   null)   {  
                  try   {  
                      rs.close();   //关闭结果集  
                  }  
                  catch   (Exception   e)   {  
                      e.printStackTrace();  
                  }  
              }  
              if   (call   !=   null)   {  
                  try   {  
                      call.close();  
                  }  
                  catch   (Exception   ex)   {  
                      ex.printStackTrace();  
                  }  
              }  
              if   (conn   !=   null)   {  
                  try   {  
                      conn.close();   //关闭连接  
                  }  
                  catch   (Exception   e)   {  
                      e.printStackTrace();  
                  }  
              }  
          }  
   
      }Top

2 楼CodeMagic(ErrorDetector)回复于 2004-12-10 13:12:44 得分 30

在存储过程端将参数定义为数组类型,  
   
  type   arr   is   varray(100)   of   varchar2(30);Top

3 楼orlando00()回复于 2004-12-10 14:54:17 得分 0

liuyi8903,不好意思,可能我没有说清楚。  
  我是要传一个数组给存储过程,比如说包含五个用户名称的数组。这该如何做哪?  
   
  CodeMagic,Java端应该如何实现那?能给一个例子代码吗?Top

4 楼CodeMagic(ErrorDetector)回复于 2004-12-10 14:58:45 得分 30

在java中用一个string[]类型的参数来调用Top

相关问题

  • 如何向SQLServer存储过程传递数组参数?
  • SQL SERVER存储过程是否可以传递数组类型?
  • java给存储过程传数组问题
  • java如何向ms sql2000的存储过程传递参数?
  • 有无可能向Sql Server6.5或 Sql Server 7.0的存储过程传递一个字符型的数组
  • java存储过程?
  • 存储过程中能否用数组
  • 这个oracle存储过程输出参数返回数组值在java中要如何取得呢?
  • oracle存储过程输出参数返回数组值在java中要如何取得呢?
  • 这个oracle存储过程输出参数返回数组值在java中要如何取得呢?

关键词

  • 存储过程
  • 数据
  • date
  • db
  • null
  • 数组
  • daoexception
  • 调用
  • 参数
  • call

得分解答快速导航

  • 帖主:orlando00
  • liuyi8903
  • CodeMagic
  • CodeMagic

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo