我正在尝试使用Java中的MySQL创建考试,不允许重复编号。
我很难找到我的错误。我已经调试了几个小时的代码。
错误:您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册,以在第1行的'null WHERE number = 1'附近使用正确的语法
下面是我的代码
String examNames = examName.getName();
String searchNumber = "SELECT * FROM " + examNames + " WHERE number = ?";
PreparedStatement preparedNumber = connect.prepareStatement(searchNumber);
int examNumbers = Integer.parseInt(textNumber.getText());
preparedNumber.setInt(1, examNumbers);
ResultSet results = preparedNumber.executeQuery();
if (results.next()) {
JOptionPane.showMessageDialog(null, "Exam number was already added");
}
else {
String examLabel = examName.getText();
String insertContent = " Insert INTO " + examLabel
+ "(number, content, choiceA, choiceB, choiceC, choiceD, correctans) values(?,?,?,?,?,?,'"
+ correctAns + "')";
PreparedStatement preparedStatement = connect.prepareStatement(insertContent);
int examNumber = Integer.parseInt(textNumber.getText());
String content = textAreaQuestion.getText();
String choiceA = textAreaA.getText();
String choiceB = textAreaB.getText();
String choiceC = textAreaC.getText();
String choiceD = textAreaD.getText();
String correct = correctAns;
preparedStatement.setInt(1, examNumber);
preparedStatement.setString(2, content);
preparedStatement.setString(3, choiceA);
preparedStatement.setString(4, choiceB);
preparedStatement.setString(5, choiceC);
preparedStatement.setString(6, choiceD);
preparedStatement.executeUpdate();
JOptionPane.showMessageDialog(null, "Added");
}
如果说
'null WHERE number = 1'
那就意味着
String examNames= examName.getName();
返回null
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句