读书人

java调用mysql存储过程没有成功解决方

发布时间: 2012-04-11 17:42:33 作者: rapoo

java调用mysql存储过程没有成功
存储过程如下.
DELIMITER $$

DROP PROCEDURE IF EXISTS `tennis`.`sp_k`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_k`(in i_f1 integer)
begin
insert into tz values(i_f1);
end$$

DELIMITER ;

java代码如下.
Class.forName( "com.mysql.jdbc.Driver ").newInstance();
String conUrl= "jdbc:mysql://localhost:3306/tennis ";
Connection con=DriverManager.getConnection(conUrl, "root ", "admin ");
CallableStatement cstmt=con.prepareCall( "{call sp_k(?)} ");
cstmt.setInt( "i_f1 ",333);
boolean hadResult=cstmt.execute();
if(hadResult){
System.out.println( "aa ");
}
cstmt.close();
con.close();

程序没有出现什么异常错误..不过数据库里又没有添加到数据...不知道是什么原因.

[解决办法]
当前的用户是否具有存储过程的CREATE 权限?

读书人网 >Mysql

热点推荐