java 不能执行mysql存储过程_一个关于java调用mysql 存储过程的问题

本文分析了Java程序通过CallableStatement执行MySQL存储过程test02时返回值为0的问题,涉及数据库连接、注册参数和存储过程执行。作者寻求帮助,希望高手指点可能存在的错误和解决方案。
摘要由CSDN通过智能技术生成

我有一个java程序:packagedemo1;importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Types;pu...

我有一个java程序:

package demo1;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Types;

public class demo17 {

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

String url = "jdbc:mysql://localhost:3306/test03";

String user = "root";

String password = "";

Connection conn = DriverManager.getConnection(url, user, password);

String sql = "{call test02(?)}";

CallableStatement cst = conn.prepareCall(sql);

cst.registerOutParameter(1, Types.INTEGER);

cst.execute();

int count = cst.getInt(1);

System.out.println(count);

conn.close();

}

}

mysql存储过程是以下这样:

DELIMITER //

CREATE PROCEDURE test02(OUT b INT)

BEGIN

SELECT COUNT(*) FROM test002_book;

END

//

我的test02有5个记录,我在mysql调用以上的存储过程时结果是5,是对的,但在java调用mysql的存储过程时结果是0,我在编写java出现什么问题?请各位高手指教?

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值