检查Java中的MySQL DB中是否存在值?

Jac*_*lan 3 java mysql database jdbc

我现在正在创建一个游戏,当玩家完成任务时将任务值存储到数据库中。我现在遇到的问题是编写一种方法,该方法在MySQL表中搜索玩家ID和任务ID,以检查他或她是否完成游戏。

我是Java数据库编程的新手,所以这是通过查看其他地方的示例代码而得出的。

public boolean checkQuest(int questid) {
   Connection con = DatabaseConnection.getConnection();
   PreparedStatement ps = con.prepareStatement("SELECT questid FROM completedQuests WHERE characterid = ?");
   ps.setInt(1, scriptId);
   ResultSet rs = ps.executeQuery();
Run Code Online (Sandbox Code Playgroud)

}

基本上,我想检查表中是否存在任务ID。如果不是,则表示玩家尚未完成任务,因此该任务可用。

Mur*_*nik 6

我将在where子句中执行此检查,并使用Java端简单地检查此查询是否返回了任何结果:

Connection con = DatabaseConnection.getConnection();
PreparedStatement ps = 
    con.prepareStatement
    ("SELECT questid FROM completedQuests WHERE characterid = ? AND questid = ?");
ps.setInt (1, characterId);
ps.setInt (2, questId);
ResultSet rs = ps.executeQuery();

if (rs.next()) {
    // Quest already completed
} else {
    // Quest not completed yet
}

// Close resources etc.
Run Code Online (Sandbox Code Playgroud)