我正在尝试使用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");
}
答案 0 :(得分:1)
如果说
'null WHERE number = 1'
然后就意味着
String examNames= examName.getName();
返回null
答案 1 :(得分:0)
在第1类中创建一个返回NewLabel文本的方法(可以通过将NewLabel文本放在String对象中来表示,比如str,然后返回str)。
现在在类2中,创建一个类1的对象,(例如Class1 cl1 = new Class1();)。现在只需调用在类1中创建的方法(例如,cl1.getNewLabelText())。getNewLabelText()是您可以为为类
创建的方法提供的示例名称