关于java调用mysql存储过程的问题!
关于java调用mysql存储过程的问题!
在mysql 5.0下建立如何一个简单的存储过程
delimiter |
use test
drop procedure if exists getUserCount
|
create procedure getUserCount(OUT userCount int)
begin
select count(*) into userCount from mysql.user;
end
|
call getUserCount(@tt)
|
select @tt
|
+------+
| @tt |
+------+
| 4 |
+------+
运行是正确的。
问题就是如何在java中调用出来呢?
如下代码应该怎么修改?请各位指点指点
CallableStatement cStmt = c.prepareCall("{call ttt(?)}");
cStmt.registerOutParameter(1,Types.INTEGER);
cStmt.execute();//执行
int tmp = cStmt.getInt(1);
System.out.println("mysql用户表中共有用户"+tmp+"人");
结果异常信息Parameter index of 1 is out of range (1, 0)
请问改如何获得输出变量的值?