如何将变量插入SQL查询?
这就是我到目前为止......
public String getBugList(int amount) {
Connection con = DatabaseConnection.getConnection();
try (PreparedStatement ps = con.prepareStatement("SELECT submitter, report FROM bugs_log ORDER BY id DESC limit ))
}
Run Code Online (Sandbox Code Playgroud)
我正试图让"数量"的错误列出来.因此,如果我输入2,那么只会列出前2名.
我在网上寻找这个,但找不到它究竟是什么的充分解释.我看到的是一个Java接口,它作为参数在另一个类中作为"监听器"传递.人们将各种监听器添加到列表中,并通过单个方法将它们全部调用.
我不确定为什么要使用它.有人可以解释一下吗?
这是我原来的帮助帖子,有人告诉我使用听众.
我现在正在创建一个游戏,当玩家完成任务时将任务值存储到数据库中。我现在遇到的问题是编写一种方法,该方法在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。如果不是,则表示玩家尚未完成任务,因此该任务可用。
关于让代码在给定的时间间隔内自动运行,我有几个问题.我正在编程一种游戏模式,它检查玩家是否杀死了地图中的所有怪物(我有这些方法).我想知道编程这个检查的最佳方法是什么?我已经查找了一个人在类构造函数中创建ScheduledExecutorService的方法....
private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Run Code Online (Sandbox Code Playgroud)
但我在网上看到人们使用的地方
static void main(String[] args) {
Run Code Online (Sandbox Code Playgroud)
并且运行方法来进行检查.哪个更好?我只是希望每隔几秒左右运行一次检查,看看玩家是否已清除地图,如果他或她有,则进入下一阶段.
问题:在两个日期之间的日历天中获得差异.例如,6/28/1996年23:59与6/29/1996 12:00相差一天.
研究:我在网上进行了大量的研究,每个人似乎只给出了毫秒的差异,这给你真正的时间差异,但不是在日历日.
现行解决方案
(int) ((new java.sql.Date(System.currentTimeMillis()).getTime()/day_conversion)) - (int) (rs.getDate("attempt_time").getTime()/day_conversion) > 0
Run Code Online (Sandbox Code Playgroud)
我做了一个int转换到转换为日期的日期(从而丢弃任何小数)到当前时间和记录时间并取得差异.这让我得到了日历日的实际转换; 但是,我想知道是否只有一种书面方法可以为我做这件事.