尝试将学生添加到数据库时出错

时间:2013-12-19 12:21:51

标签: java mysql sql data-access-layer

当我尝试添加具有一个属性名称的学生时,我收到错误。 错误是:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''name')附近使用正确的语法。

错误指出了这些代码,

 //Class DAL
    public int addStudent(String name)throws SQLException{

        PreparedStatement studentStatement = getConnected().prepareStatement("insert       into person" + "values (?)") ;
        studentStatement.setString(1,name);
             //This is highlighted by the error
        int rSetStudent = studentStatement.executeUpdate();
        return rSetStudent;
    }

 //Class controller

public int addStudent(String name) throws SQLException{
          //This is highlighted
    return dal.addStudent(name);
}

//and this in class MainFrame where i use the add method from controller class
//this is highlighted
private void addStudent(){
    try{
                 //and this
        int a = controller.addStudent(nameTxtField.getText().trim());
    }catch(SQLException e){
        e.printStackTrace();
        }
}

单击按钮 add 时,将调用方法addStudent()。 如果有人想知道我正在使用MySql。

2 个答案:

答案 0 :(得分:1)

检查此行PreparedStatement studentStatement = getConnected().prepareStatement("insert into person" + "values (?)")人与值之间没有空格

喜欢这个

PreparedStatement studentStatement = getConnected().prepareStatement("insert into person " + "values (?)")或只是

PreparedStatement studentStatement = getConnected().prepareStatement("insert into person values (?)")不要混淆空格

答案 1 :(得分:0)

应该是

insert into person (name) values (?)