【发布时间】:2019-12-22 17:56:57
【问题描述】:
我遇到以下错误:
错误:java.sql.SQLSyntaxErrorException:“字段列表”中的未知列“密码”*** + 和长文本错误
ISSUE1:当我尝试连接 Java FX 和 MySQL 数据库时,请帮我解决这个问题。
ISSUE2:也是时区问题
这是我的代码:
package sample;
import com.sun.org.apache.bcel.internal.generic.DCONST;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class DatabaseHandler extends Configs {
Connection dbConnection;
public Connection getDbConnection() throws ClassNotFoundException, SQLException {
String connectionString = "jdbc:mysql://" + dbHost + ":"
+ dbPort + "/" + dbname + "? " + "useUnicode=true&serverTimezone=UTC&useSSL=true&verifyServerCertificate=false";
Class.forName("com.mysql.cj.jdbc.Driver");
dbConnection = DriverManager.getConnection(connectionString, dbUser, dbPass);
return dbConnection;
}
public void SignUpUser(User user) {
String insert = " INSERT INTO " + Const.USER_TABLE + "(" + Const.USER_FIRSTNAME + ","
+ Const.USER_LASTNAME + "," + Const.USER_LOCATION + ","
+ Const.USER_USERNAME + "," + Const.USER_PASSWORD + ","
+ Const.USER_GENDER + ")" + "VALUES(?,?,?,?,?,?)";
try {
PreparedStatement prSt = getDbConnection().prepareStatement(insert);
prSt.setString(1, user.getFirstname());
prSt.setString(2, user.getLastname());
prSt.setString(3, user.getLocation());
prSt.setString(4, user.getUsername());
prSt.setString(5, user.getPassword());
prSt.setString(6, user.getGender());
prSt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
你确认数据库表确实有一个名为
password的列吗?
标签: java mysql database-connection