gpt4 book ai didi

java - 从 Java 更新 sqlite 数据库

转载 作者:行者123 更新时间:2023-11-30 02:52:04 24 4
gpt4 key购买 nike

我正在尝试从 javafx 更新 sqlite 数据库。我对数据库执行以下查询以更新它:

try 
{
int saveSpeed = gui.saveSpeedInt - gui.saveSpeedTimer;
String query2;
if(gui.textAnswerQ.equals(gui.saveAnswer.getText()) || gui.textAnswerToFQ.equals(gui.saveAnswer.getText()) || gui.SanswerTextField.getText().equals(gui.saveAnswer.getText())){

String answer = "1";
query2 = "update StudentsQuestions set Time = '"+saveSpeed+"' set Answer = '"+answer+"' where UserName = '"+gui.saveUser.getText()+"' and Question = '"+gui.question.getText()+"'";
}
else{
String answer = "0";
query2 = "update StudentsQuestions set Time = '"+saveSpeed+"' set Answer = '"+answer+"' where UserName = '"+gui.saveUser.getText()+"' and Question = '"+gui.question.getText()+"'";
}

PreparedStatement pst2 = gui.connectionUsers.prepareStatement(query2);
pst2.execute();
pst2.close();
}

当我一直执行更新时,答案字段似乎为空。我在这里做错了什么吗? Aswer 是 StudentsQuestions 表中的一个字段,其类型为 INTEGER,其模式为“Answer INTEGER”。

编辑: 事实上,我发现我不能将两个集合放入同一个查询中。但是我不知道如何将查询分成准备好的语句。有什么帮助吗?

最佳答案

创建准备好的语句是正确的方法。我会这样修复你的代码(主要错误是没有逗号并在 sql 语句中使用 set 两次):

try 
{
int saveSpeed = gui.saveSpeedInt - gui.saveSpeedTimer;
String query2;
int answer = 1;
if(gui.textAnswerQ.equals(gui.saveAnswer.getText()) || gui.textAnswerToFQ.equals(gui.saveAnswer.getText()) || gui.SanswerTextField.getText().equals(gui.saveAnswer.getText())){
answer = 1;
}
else{
answer = 0;
}
query2 = "update StudentsQuestions set Time = ?, Answer = ? where UserName = ? and Question = ?";
PreparedStatement pst2 = gui.connectionUsers.prepareStatement(query2);
pst2.setInt(1, saveSpeed);
pst2.setInt(2, answer);
pst2.setString(3, gui.saveUser.getText());
pst2.setString(4, gui.question.getText());
pst2.execute();
pst2.close();
}

有关更多信息,请参阅:Using SQLite Prepared statements basics

关于java - 从 Java 更新 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38329315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com