如何测试sql查询在java中是否返回true

use*_*269 1 java mysql jdbc

我有这个选择查询.我如何知道查询是否在数据库中找到匹配项?

try{
        PreparedStatement fetchPlayers = conn.prepareStatement("SELECT * FROM players WHERE P_Name='" + player + "'");
        fetchPlayers.executeQuery();



        }catch(Exception e){}
Run Code Online (Sandbox Code Playgroud)

我试过这样做,但即使我输入的东西不在数据库中,它总是返回true.

if(fetchPlayers.execute()==true){
        System.out.println("True");
        }
Run Code Online (Sandbox Code Playgroud)

bw_*_*ezi 6

PreparedStatement.execute()返回

如果第一个结果是ResultSet对象,则为true;否则为false.如果第一个结果是更新计数或没有结果,则返回false

请改用executeQuery().您感兴趣的是返回的ResultSet是否具有正数.

ResultSet rs = statement.executeQuery(query);
if ( rs.next() ) {
    // curser has moved to first result of the ResultSet 
    // thus here are matches with this query.
}
Run Code Online (Sandbox Code Playgroud)