第1行的SQL语法错误

时间:2016-10-03 07:12:43

标签: java mysql jdbc

我正在尝试使用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");
    }

2 个答案:

答案 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()是您可以为为类

创建的方法提供的示例名称