Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
callablestatement未通过java返回resultset_Java_Mysql_Jdbc - Fatal编程技术网

callablestatement未通过java返回resultset

callablestatement未通过java返回resultset,java,mysql,jdbc,Java,Mysql,Jdbc,我遇到了需要从MySQL数据库获取resultset的情况。但问题是,当我使用prep/callable语句时,我不会得到resultset,但当同一个sql查询通过toad或phpmyadmin运行时,它会在控制台上给出正确的预期结果。代码如下:- Connection connection = null; CallableStatement cstmt = null; String mappedEVentIds = ""; try { conn

我遇到了需要从MySQL数据库获取resultset的情况。但问题是,当我使用prep/callable语句时,我不会得到resultset,但当同一个sql查询通过toad或phpmyadmin运行时,它会在控制台上给出正确的预期结果。代码如下:-

    Connection connection = null;
    CallableStatement cstmt = null;
    String mappedEVentIds = "";
    try {
        connection = CreateDBConnection.createDBConn();
        cstmt = connection.prepareCall("select metaEventId from metatologtable where metatologtable.baseEventId in (select `metatologtable`.baseEventId from metatologtable inner join logtable on logtable.baseEventId = metatologtable.baseEventId where metatologtable.metaEventId In"+metaEventIds+")");
        ResultSet rs = cstmt.executeQuery();
        while(rs.next()){
            mappedEVentIds = mappedEVentIds+rs.getString("metaEventId");

        }
        return mappedEVentIds;
    }
    catch(Exception e){

    }
    finally{
        closeConnection(connection, cstmt);
    }

它不会抛出任何错误,但resultset in empty并且在(rs.next)块

catch块为空时不会出现。添加
e.printStackTrace()
以在发生错误时打印此代码正在处理中,catch块将包含更多代码和异常情况下要遵循的操作。但是主要的问题是,为什么同样的东西是通过DB而不是通过java来实现的。在许多开发公司中,这是一种非常严重的犯罪行为。如果你曾经用一个空的catch块将代码提交给VCS,那么你可能会受到官方的谴责。永远不要有空的挡块。你正在接受错误,然后让我们猜测它可能是什么。而且,现在是2015年。Java7于2011年发布。4年后,绝对没有理由使用
try…finally
而不是
try with resources
。很抱歉,这会使您感到困惑,但是catch块将调用一个方法,然后记录错误。正如我所说,代码处于草稿模式,请相信我,它不会抛出任何错误并正确退出方法。catch块为空。添加
e.printStackTrace()
以在发生错误时打印此代码正在处理中,catch块将包含更多代码和异常情况下要遵循的操作。但是主要的问题是,为什么同样的东西是通过DB而不是通过java来实现的。在许多开发公司中,这是一种非常严重的犯罪行为。如果你曾经用一个空的catch块将代码提交给VCS,那么你可能会受到官方的谴责。永远不要有空的挡块。你正在接受错误,然后让我们猜测它可能是什么。而且,现在是2015年。Java7于2011年发布。4年后,绝对没有理由使用
try…finally
而不是
try with resources
。很抱歉,这会使您感到困惑,但是catch块将调用一个方法,然后记录错误。正如我所说的,代码处于草稿模式,相信我,它不会抛出任何错误并正确退出方法。