我试图在Java中使用MySQL创建一个不允许重复数字的检查。第1行的SQL语法错误
我很难找到我的错误。我一直在调试我的代码几个小时。
错误:您的SQL语法错误;检查手册中 对应于你的MySQL服务器版本正确的语法使用 接近“零其中number = 1”在行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");
}
因为examNames为空 – e4c5
是否意味着.getText()无法获取Jlabel值?我也尝试使用.getName(),但仍然为空。我试图用文本字段替换它,它工作。但我需要使用Jlabel – Zcyan
可能是一个想法,包括examName创建的代码......如果您期望getText返回任何内容,那么应包含setText。 – ostergaard