Здравствуйте!
Кто знает, скажите пожалуйста, почему программа не видит таблицу в БД MySQL.
Сделал всё как в видеоуроке.
Ошибок кода нет. Есть предупреждения о расхождениях версий JavaFX. Но ведь это не критично для обнаружения таблицы.
Так может ее и правда нет?)
Что в БД и как она создается?
Есть, она есть)))
Я прорабатываю различные видеоуроки. В них у людей установлено ПО как-то так, что всё работает. Т.е. зачастую дело вовсе не в коде. А именно в настройках ПО.
Вот скрин с MySQL. Всё четко, под логином и т.п.
users
и intousers
это ж разные имена. Видимо пробела не хватает.
Лучше использовать .format
и т.п. чтоб проще было заметить такое. https://www.delftstack.com/howto/java/java-string-interpolation/
ЗЫ печаль, в Джаве до сих пор нельзя написать что-нибудь типа
$"Hello, {name}."
как в C# и других языках.
Я вообще не знаю, откуда intousers взялся. Вот класс с константами:
package sample;
public class Const
{
public static final String USER_TABLE = "users";
public static final String USERS_ID = "idusers";
public static final String USERS_FIRSTNAME = "firstname";
public static final String USERS_LASTNAME = "lastname";
public static final String USERS_USERNAME = "username";
public static final String USERS_PASSWORD = "password";
public static final String USERS_LOCATION = "location";
public static final String USERS_GENDER = "gender";
}
Вот конфиг
package sample;
public class Configs
{
protected String dbHost="localhost";
protected String dbPort="3306";
protected String dbUser="root";
protected String dbPass="12345";
protected String dbName="itproger";
}
Вот запрос
public class DatabaseHandler extends Configs//для подключения к базе данных, записи и т.п.
{
Connection dbConnection;
public Connection getDbConnection() throws ClassNotFoundException, SQLException
{
String connectionString="jdbc:mysql://"+dbHost+":"
+dbPort+"/"+dbName;
Class.forName("com.mysql.cj.jdbc.Driver");
dbConnection=DriverManager.getConnection(connectionString, dbUser, dbPass);
return dbConnection;
}
public void signUpUser (String firstName, String lastName, String userName,String password, String location,String gender)
{
String insert="INSERT INTO"+Const.USER_TABLE+"("+Const.USERS_FIRSTNAME+","+Const.USERS_LASTNAME+","+Const.USERS_USERNAME
+","+Const.USERS_PASSWORD+","+Const.USERS_LOCATION+","+Const.USERS_GENDER+")"+"VALUES(?,?,?,?,?,?)";
try
{
PreparedStatement prSt=getDbConnection().prepareStatement(insert);
prSt.setString(1,firstName);
prSt.setString(2,lastName);
prSt.setString(3,userName);
prSt.setString(4,password);
prSt.setString(5,location);
prSt.setString(6,gender);
prSt.executeUpdate();//команда на выполнение
}
catch (SQLException throwables)
{
throwables.printStackTrace();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
}
}
Так пробела нет после INTO.
1 лайк
)))
Огромное Вам спасибо!