mysql - 存储过程输出始终返回 0.0

标签 mysql stored-procedures jdbc

我是 jdbc 的新手,我的程序总是返回 0.0...帮助

 CallableStatement cs= con.prepareCall("{ call  getbalance(?,?) }");
    cs.setInt(1, 1234);
    //cs.setString(2, "dfdf");
    cs.registerOutParameter(2, Types.DOUBLE,23);
    cs.execute();
    System.out.println("Balance is "+ cs.getDouble(2));

             CREATE PROCEDURE `getbalance`( acno int, out amt int)
              begin 
                       select bal * amt from bank WHERE accno=acno; 
               end;

最佳答案

我认为你需要这个,将值设置为 amt 变量。

Set amt = (select bal * amt from bank WHERE accno=acno); 

关于mysql - 存储过程输出始终返回 0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14658834/

相关文章:

java - 在调用 getSingleResult() 方法时出现 java.lang.ClassCastException?

mysql - 如果一列中有一个相同的值并更改列名称,如何将两行合并为一行

int类型列上的mysql索引

mysql - 数据库触发器根据一张表更新另一张表

mysql - 如何在mysql中使用datediff函数计算罚款

php - 在 Laravel 中为现有数据库中的存储过程、函数和事件创建迁移

java - Android - 将数据输入数据库时​​应用程序崩溃

mysql - 什么版本的MYSQL支持存储过程?

java - 结果集到集合

java - 我需要一个服务对象吗?