您好我正在为学校项目开发应用程序,我想创建一个将保存在数据库中的用户。
我创建了一个Profile类
public class Profile{
private String username;
private String password;
public Profile(String _username, String _password){
this.username = _username;
this.password = _password;
}
public void setUsername(String username){
this.username = username;
}
public String getUsername(){
return this.username;
}
public void setPassword(String _password){
this.password = _password;
}
public String getPassword(){
return this.password;
}
我创建了一个DBConnect类,它将包含所有方法,其中一个是CreateProfile,我希望用户将新配置文件的值插入数据库“user”表。
public class DBConnect {
private Connection dbConnection;
public DBConnect(){
try{
dbConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root");
}catch(Exception ex){
System.out.println("Connection failed :" +ex);
}
}
public void createProfile(Profile profile){
Statement stm = null;
try{
stm = dbConnection.createStatement();
stm.executeUpdate("INSERT INTO User (Username,Password) VALUES (\"" + profile.getUsername() + "\", \"" + profile.getPassword()+ "\"");
}catch(SQLException ex){
System.out.println(ex);
}
}
最后在我的JFrame中,我有两个textFeild用户名和密码,我想使用它来传递profile构造函数的参数。完成此操作后,我将DBConnect对象启动连接,而不是调用在DBConnect中声明的Create Profile方法。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Profile p = new Profile(jTextField1.getText(), jPasswordField1.getText());
DBConnect dbc = new DBConnect();
dbc.createProfile(p);
所有内容都会编译但是当我运行程序并尝试创建新的配置文件时,我会收到此错误。
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法
我的MySQL表是一个简单的表,有两列名为“用户名”和“密码”
答案 0 :(得分:0)
您需要将右括号放在字符串中:
stm.executeUpdate("INSERT INTO User (Username,Password) VALUES (\"" + profile.getUsername() + "\", \"" + profile.getPassword()+ "\")";