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

如何调用存储过程的返回值

    来源: 互联网  发布时间:2015-10-23

    本文导语:  //stored procedure:ValidateUser //输入参数int,varchar,varchar; //输出参数int      CallableStatement cstmt = conn.prepareCall("{call ValidateUser(?, ?, ?)}");  问题是:我怎样注册我的输出参数??? | CallableStatem...

//stored procedure:ValidateUser
//输入参数int,varchar,varchar;
//输出参数int

     CallableStatement cstmt = conn.prepareCall("{call ValidateUser(?, ?, ?)}");
 问题是:我怎样注册我的输出参数???

|
CallableStatement cstmt = conn.prepareCall("{? = call ValidateUser(?, ?, ?)}");
      cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
      cstmt.setInt(2, uID);
      cstmt.setString(3, nickname);
      cstmt.setString(4, pwd);
      System.out.print("Prepared sp n");
      cstmt.execute();

应该是这样吧

|
CallableStatement cstmt = conn.prepareCall("{call ValidateUser(?, ?, ?,?)}");
cstmt .registerOutParameter(4,java.sql.Types.INTEGER);
cstmt .setInt(1,int1);
cstmt .setString(2,s1);
cstmt .setString(3,s1);







|
CallableStatement cstmt = conn.prepareCall("{call ValidateUser(?, ?, ?, ?)}");
      cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
      cstmt.setInt(1, uID);
      cstmt.setString(2, nickname);
      cstmt.setString(3, pwd);
      System.out.print("Prepared sp n");
      cstmt.execute();
      System.out.print("Excuted sp n");

      userID = cstmt.getInt(1);
      System.out.print("Got INT(1) n");


是不是你输出参数和第一个输入参数是inout的
如果这样 呢试着用上面的看看!

|
按你的写法 没output的值的参数
CallableStatement cstmt = conn.prepareCall("{call ValidateUser(?, ?, ?)}");
      cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
      cstmt.setInt(1, uID);
      cstmt.setString(2, nickname);
      cstmt.setString(3, pwd);
      System.out.print("Prepared sp n");
      cstmt.execute();
这样试试会不会刚刚多了一个?

|
1、调用的时候多了一个问号
CallableStatement cstmt = conn.prepareCall("{call ValidateUser(?, ?, ?)}");
      cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
      cstmt.setInt(1, uID);
      cstmt.setString(2, nickname);
      cstmt.setString(3, pwd);
      cstmt.execute();
2、根据这个SP的名字,应当是没有结果集返回的,只是判断用户是否有效,输出在第一个inout参数里(比如返回0代表无效的账号,其它值就是代表当前合法账号了)


    
 
 

您可能感兴趣的文章:

  • java调用sql server存储过程,如何取存储过程返回码(不是结果集)
  • 用proceduredataset孔件来调用存储过程时,要用到其属性procedure.我自己写好的存储过程如何放在里面?
  • 请问各位大侠怎样在java中调用存储过程和接受存储过程的返回参数
  • java调用存储过程问题。
  • 请问jsp怎么调用后台的存储过程?
  • 进程的调用造成的存储分配中遇到的问题??来者有分
  • C# 中调用 MySQL 存储过程的示例代码
  • 请问怎样在informix中建立存储过程并在esql/c中调用?
  • 请问Java可否调用MsSQL的存储过程,如何调用?
  • linux定时调用存储过程的问题
  • java调用存储过程的错误
  • C# 调用 MySQL 存储过程的代码
  • linux如何用C调用数据库的存储过程
  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作 iis7站长之家
  • 请教一个关于PROC中调用存储过程的问题
  • Java怎么调用存储过程?给个例子吧?
  • 想写个shell脚本调用mysql的存储过程,怎么改都执行不了。。。
  • jsp中如何调用存储过程???
  • oracle 在一个存储过程中调用另一个返回游标的存储过程
  • 帮我看一下程序,java调用oracle数据存储的问题?
  • shell调用oracle储存过程,怎么判断储存过程执行结果是否正确
  • 脚本1调用脚本2,脚本2必须输入回车,如何在调用过程中自动输入回车
  • 关于RPC远程过程调用的问题
  • 请大虾,详细介绍一下JavaBean的写法,和调用过程!
  • 过程可以在JDBC 中调用吗?
  • 远程过程调用 PHPRPC
  • 怎样在jsp或者javabean里面调用存贮过程?
  • 远程过程调用框架 LUX4
  • C中用system系统调用执行command,执行过程中死锁,如何处理?
  • 如何在别的过程调用鼠标事件
  • 请教各位,如何在JSP中调用SQL 过程?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在Python中使用SWIG调用C和C++程序
  • Linux添加系统调用时如何调用C语言库函数
  • sessionbean调用entitybean的时候还需要像Client一样远程调用对象吗??
  • system()调用 与 ioctl()调用
  • linux中为什么系统调用比普通函数调用更费时间?
  • 如何在LINUX下用一个普通文件调用一个自己编写的调用系统的文件
  • 可不可以用java调用其他语言的编译结果?(好象asp调用com那样)
  • 为什么我的BEAN 在WIN2000中调用没有问题,但在LINUX中调用有问题
  • 为什么守护进程调用调用getlogin会失败呢?
  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作
  • 关于jsp调用javabean的问题!调用是成功了,但是有小问题!
  • ioctl中能不能调用generic_file_read呀?我一调用就不动了
  • LINUX下系统调用是不能中断的,要怎么改造成可以中断系统调用?
  • 请问用javaScript或vbScript可否调用页面上Applet的public函数?如何调用?
  • 请问在jsp中调用外部的类,与jsp调用javabean有何区别??
  • 调用数学函数,需要调用哪个函数库?
  • 调用system(“命令”)和函数调用之间有什么不同?效率?
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • 请问linux中的系统调用号是如何跟系统调用表对应起来的
  • 我的APPLET在Jbuilder5中,可以调用EJB对象,但是移植到网页上却不能调用EJB对象!是何缘故,值得研究!
  • 新手:Linux下使用第三方C库(openssl),是调用.so文件还是直接调用.h文件?


  • 站内导航:


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

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

    浙ICP备11055608号-3