0

Java クラスで受信する必要がある mysql プロシージャから整数値を送信しようとしています。これは私がやった

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.
4

1 に答える 1