我正在开发一个个人项目,在java中创建一个打卡时钟。由于会有多个用户进出时间,我创建了一个JTextField
,用户将在其中输入ID number
,当他们点击button(jButton1)
时,该程序应该执行两项操作。
这是我的想法,我自己在google的帮助下学到了一些东西。但是,我找不到这一部分,任何帮助/方向都是值得赞赏的。谢谢。
答案 0 :(得分:1)
您应该使用SwingWorker
来执行数据库操作。由于您已经在使用JDBC,因此请使用PreparedStatement
并执行查询以获取结果。
如果找到结果使用当前时间更新数据库,则可以通过调用System.currentTimeInMillis()
一旦您的工作人员完成其操作,然后向UI显示相应的消息。
1。How to use PreparedStatement
2。A sample implementation for using SwingWorker for database operation
考虑ID来自JTextBox
,请使用PreparedStatement
,如下所示:
String sql = "SELECT FIRST_NAME, LAST_NAME, HOURS FROM WORKERS WHERE ID= ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstml.setInt(1, 007859378);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
//Extract values from ResultSet
}
这样您就可以阻止自己SQL Injection,也可以阅读how Prepared Statement helps against SQL Injection