(
out num int
)
BEGIN
select count(*) as times into num from tb_down_client_app_log GROUP BY WEEK(clickdate) order by times DESC LIMIT 1;
END;
这是我的存储过程.与sql2000的好象不一样.实在是做不下去了.
10 个解决方案
#1
出了什么问题
#2
你写的是存储过程,
JAVA如何调用与数据库是无关的,一个样
JAVA如何调用与数据库是无关的,一个样
#3
CallableStatement cstm = cn.prepareCall("{call maxweeks(?)}");
cstm.registerOutParameter(1,java.sql.Types.INTEGER);
int x = cstm.getInt(1);
这样的代码有错误!
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
真的不知道错误出在那里了
cstm.registerOutParameter(1,java.sql.Types.INTEGER);
int x = cstm.getInt(1);
这样的代码有错误!
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
真的不知道错误出在那里了
#4
存储过程中的输出参数的数据类型,是根据申明的数据类型来的.按道理来说java.sql.Types.INTEGER
应该是整型.但是为什么最后还是接受不到.
大侠们,写一个小例子,照顾一下小弟吧
应该是整型.但是为什么最后还是接受不到.
大侠们,写一个小例子,照顾一下小弟吧
#5
没有返回值
就不要定义 outParameter
就不要定义 outParameter
#6
create PROCEDURE maxweeks
(
out num int
)
这里不是返回值吗
我可以在MySQL打印
代码是这样的
call maxweeks(@i);
select @i;
这个应该是返回值吧?
(
out num int
)
这里不是返回值吗
我可以在MySQL打印
代码是这样的
call maxweeks(@i);
select @i;
这个应该是返回值吧?
#7
看错了 不好意思
#8
interpb(曾曾胡,深怕情多累美人!!!)
------------------------------
那为什么,还是不能调用呢?
cstm.registerOutParameter(1,java.sql.Types.INTEGER); //这里的数据类型是数据中的
int x = cstm.getInt(1); //这里也是根据数据库中得到的
但是为什么会报错
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
------------------------------
那为什么,还是不能调用呢?
cstm.registerOutParameter(1,java.sql.Types.INTEGER); //这里的数据类型是数据中的
int x = cstm.getInt(1); //这里也是根据数据库中得到的
但是为什么会报错
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
#9
cstm.execute();
#10
哈哈哈,原来如此.真的不好意思.节贴
#1
出了什么问题
#2
你写的是存储过程,
JAVA如何调用与数据库是无关的,一个样
JAVA如何调用与数据库是无关的,一个样
#3
CallableStatement cstm = cn.prepareCall("{call maxweeks(?)}");
cstm.registerOutParameter(1,java.sql.Types.INTEGER);
int x = cstm.getInt(1);
这样的代码有错误!
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
真的不知道错误出在那里了
cstm.registerOutParameter(1,java.sql.Types.INTEGER);
int x = cstm.getInt(1);
这样的代码有错误!
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
真的不知道错误出在那里了
#4
存储过程中的输出参数的数据类型,是根据申明的数据类型来的.按道理来说java.sql.Types.INTEGER
应该是整型.但是为什么最后还是接受不到.
大侠们,写一个小例子,照顾一下小弟吧
应该是整型.但是为什么最后还是接受不到.
大侠们,写一个小例子,照顾一下小弟吧
#5
没有返回值
就不要定义 outParameter
就不要定义 outParameter
#6
create PROCEDURE maxweeks
(
out num int
)
这里不是返回值吗
我可以在MySQL打印
代码是这样的
call maxweeks(@i);
select @i;
这个应该是返回值吧?
(
out num int
)
这里不是返回值吗
我可以在MySQL打印
代码是这样的
call maxweeks(@i);
select @i;
这个应该是返回值吧?
#7
看错了 不好意思
#8
interpb(曾曾胡,深怕情多累美人!!!)
------------------------------
那为什么,还是不能调用呢?
cstm.registerOutParameter(1,java.sql.Types.INTEGER); //这里的数据类型是数据中的
int x = cstm.getInt(1); //这里也是根据数据库中得到的
但是为什么会报错
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
------------------------------
那为什么,还是不能调用呢?
cstm.registerOutParameter(1,java.sql.Types.INTEGER); //这里的数据类型是数据中的
int x = cstm.getInt(1); //这里也是根据数据库中得到的
但是为什么会报错
java.sql.SQLException: No output parameters returned by procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.getOutputParameters(CallableStatement.java:1430)
at com.mysql.jdbc.CallableStatement.getInt(CallableStatement.java:1247)
at com.cj.Test.main(Test.java:34)
#9
cstm.execute();
#10
哈哈哈,原来如此.真的不好意思.节贴