2013-12-19 81 views
0

当我尝试添加具有一个属性名称的学生时出现错误。 错误是:尝试将学生添加到数据库时出错

您的SQL语法错误;检查对应于你的MySQL服务器版本在第1行

错误指出此代码使用近“”名“)”正确的语法手册,

//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(); 
     } 
} 

的方法addStudent()当按钮添加被点击时被调用。 如果有人想知道我在使用MySql。

回答

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 (?)")为无关于空间的困惑

+0

这也工作得很好,看起来更正确。我将把这标记为一个答案。 – Eskipo

+0

@Eskipo我建议你使用第二种方式 – SpringLearner

+0

“i”+“”+“would”+“”+“选择”+“”+“”+“”+“+”+“”“方式” +“:D” – Andy

0

应该

insert into person (name) values (?) 
+0

哇,修复它非常感谢。我会接受这个答案。 – Eskipo

+0

@Eskipo欢迎您。 – Alex

相关问题