当前位置:  技术问答>java相关

java调用oracle存储过程的问题

    来源: 互联网  发布时间:2017-04-24

    本文导语:  我用的数据库是oracle        存储过程如下    CREATE OR REPLACE PROCEDURE "SP_WFSHWLUSERINFILE"    ( Billid IN integer,      Resulti OUT integer)    AS               BEGIN      .......    COMMIT;    Resulti:=0;  EXCEPTIO...

我用的数据库是oracle
   
   存储过程如下
   CREATE OR REPLACE PROCEDURE "SP_WFSHWLUSERINFILE"
   ( Billid IN integer,
     Resulti OUT integer)
   AS
 
        
   BEGIN
     .......

   COMMIT;
   Resulti:=0;
 EXCEPTION
 WHEN OTHERS THEN
   ROLLBACK;
   Resulti:=-1;
 END;


java程序部分如下
   int billid=1;
   CallableStatement aStatement=null;
   String SqlString="{?=call SP_WFSHWLUSERINFILE(?)}";


   aStatement=sqlCon.prepareCall(SqlString);
   aStatement.registerOutParameter(1,Types.INTEGER);
   aStatement.setLong(2,billid);
   aStatement.execute();
   
   sqlCon是一个数据库的连接,但是这样就会报错
   
   可是如果改为
   int billid=1;
   int result=0;
   CallableStatement aStatement=null;
   String SqlString="{call SP_WFSHWLUSERINFILE(?,?)}";


   aStatement=sqlCon.prepareCall(SqlString);
   aStatement.registerOutParameter(1,Types.VARCHAR);
   aStatement.setLong(1,billid);
   aStatement.setLong(2,result);
   aStatement.execute();
   
   
   这样存储过程就能执行了,可是这样result的值根本不会变,根本无法得到存储过程的返回值
   
   
   我的问题是如何得到oracle存储过程中定义成OUT的返回参数值呢?
 

|
你的第一种用法实际上不是调用存储过程,而是调用oracle函数的用法;
第二种才是调用存储过程,但是有问题,改成这样试试:
aStatement=sqlCon.prepareCall(SqlString);
aStatement.registerOutParameter(2,Types.NUMBERRIC);//这里数字型是不是NUMBERRIC我记不请了,在编译器里应该会弹出帮助的
aStatement.setLong(1,billid);
aStatement.execute();

另外,存储过程的参数数字型最好不要用integer,数字型用number,或者就用varchar型,oracle会自动匹配为数字型的

    
 
 

您可能感兴趣的文章:

  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数? iis7站长之家
  • 可不可以用java调用其他语言的编译结果?(好象asp调用com那样)
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • ###java调用COM组件或COM调用java组件(EJB)解决办法。###
  • java线程怎么调用java的application.class?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • java.awt 和java.util都有List,想调用awt的List而出现Ambiguous class错误怎么办?
  • 一个.java文件中怎样来调用另一个.java文件中的变量及其它东西!
  • java调用sh脚本遇到export命令会卡住,sh不能调用子sh
  • Java能调用OLE对象吗?怎样利用Java生成Excel报表?
  • java打包后如何调用?
  • 请问Java可否调用MsSQL的存储过程,如何调用?
  • 奇怪?我在jsp中调用java类。java类本身编译没错,但jsp中的引用Tomcat总是报错。
  • java能否调用dll或ocx
  • 如何用java调用word?来者给分!·!!!!!
  • 怎么在java里调用一个oracle的procedure呢?
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 求教!!!VC应用调用Java模块可行吗?
  • java将类序列化并存储到mysql(使用hibernate)
  • java调用sql server存储过程,如何取存储过程返回码(不是结果集)
  • 请问各位大侠怎样在java中调用存储过程和接受存储过程的返回参数
  • 使用Statement.java里的execute执行存储过程问题
  • java调用存储过程问题。
  • 各位你们用 JAVA 做MRP软件用"存储过程"吗 ?
  • java数据存储的问题
  • 在SQL server 2000中用JAVA实现图片存储
  • 如何用java对mysql存储文件
  • java调用存储过程的错误
  • 请一下java中组数的存储结构是怎么样的??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个小问题,JAVA中计算某个过程的执行时间,回答了马上给分,10分钟内响应啊
  • 关于java编译过程中的bug说明
  • redhat 9 下安装 oracle9i 过程中,要求指定java目录,到底是哪一个目录?
  • 请问怎么在java的控件里画条线?思路,过程?谢谢
  • java调oracle过程的出了问题,求助!帮忙看看
  • 请问一般JAVA BEAN的开发过程是怎样的?(100分,在现等待,马上送)
  • 用java语言做一个银行和ATM,需要用到哪些知识???哪位教我具体的过程,步骤给200分.
  • 请教一下JAVA程序设计开发过程
  • 使用记事本编写java程序全过程图解
  • 大讨论:在java的开发过程中,大家都是用什么工具进行文档管理的?
  • Oracle中的存储过程在pl/sql和java中如何调用
  • java中关于合成过程中初始化的一问
  • java调用oracle存储过程的简单问题
  • java Class文件内部结构解析过程详解
  • Java类变量和成员变量初始化过程的应用介绍
  • java调用Oracle存储过程的方法实例
  • 一点java awt程序的调试过程(烂人专栏,大牛莫进)还有问题呀
  • Windows7下的Java运行环境搭建过程图解
  • java调用oracle分页存储过程示例
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3