java - 程序如何将mysql中的参数返回给java

标签 java mysql

我正在尝试从 mysql 过程发送一个整数值,该值必须由 Java 类接收。我已经完成了

CREATE DEFINER=`root`@`localhost` PROCEDURE `updateCountry`(o_name varchar(35), u_name varchar(50),m_by varchar(35),out msg int)
BEGIN
if not exists (select country from country where country = u_name) then        
    UPDATE country SET country= u_name, modify_date=now(), modify_by=m_by where country = o_name;    

end if;
if  exists (select country from country where country = u_name) then 
set msg := '1';
end if;
END  

我的 java 类是:

public void modifyCountry(String mod, String real, String crby)throws Exception {
    Date d = new Date(System.currentTimeMillis());
    System.out.print(d);
    CallableStatement cs = conn
            .prepareCall("{ call updateCountry(?,?,?,?)}");
    cs.setString(1, real);
    cs.setString(2, mod);
//  cs.setDate(3, d);
    cs.setString(3, crby);
    cs.registerOutParameter(4, Types.INTEGER);
    int check = cs.getInt(4);
    System.out.print(check);
    cs.execute();
}

这是我得到的错误

No output parameters returned by procedure.

最佳答案

尝试先执行语句再读取输出参数

关于java - 程序如何将mysql中的参数返回给java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106550/

相关文章:

java - HashSet 构造函数中的通配符泛型

java - 整数数组中的重复数字(Java 基础级别)和时间复杂度

php - mysql_fetch_array() expects parameter 1 to be resource 错误

php - PDO 在另一个数据库的表中插入查询不起作用

java - Android 合并调试资源失败

java - 在 Ubuntu 中使用 Mono 生成文件的字节顺序标记

java - 从 javascript 调用的 applet 方法中的 return 语句

php - MySql 数据库的第二行

python Mysql SELECT数据未刷新

mysql - 如何并排呈现单表查询的结果