我是通过这样的存储过程从数据库中选择数据:
CREATE PROCEDURE select(...)
BEGIN
...
SELECT SQL_CALC_FOUND_ROWS x,y,z, FROM ....;
END
然后检索通过此存储过程找到的行数:
CREATE PROCEDURE rows()
BEGIN
SELECT FOUND_ROWS();
END
当我从命令行调用这两个过程时,这非常有效:
CALL select("x", y, z);
生成正确的数据集
CALL rows;
产生正确的行数。
但是,当我有一个Java应用程序进行调用时,rows()始终返回195.
if (c != null) {
try {
PreparedStatement ps = c.prepareStatement(statement);
result = new Matrix(ps.executeQuery());
} catch (SQLException e) {
errorroutine
}
} else errorroutine;
return result;
什么了? 195是错误代码,如果是,为什么以及为什么?