Вот мне нужно создать нового пользователя и логин и пароль необходимо эти данные подставить из тестовых полей в запрос но он не работает, в чем ошибка?
connection.updateQuery(String.format("CREATE USER '%s'@'%' IDENTIFIED BY '%s'",login.getText(),password.getText()));
connection.updateQuery(String.format("CREAGRANT ALL PRIVILEGES ON *.* TO '%s'@'%' WITH GRANT OPTION",login.getText()));
В результате полчаю ошибку UnknownFormatConversionException:
Exception in thread "AWT-EventQueue-0"
java.util.UnknownFormatConversionException: Conversion = ''' at
java.base/java.util.Formatter.checkText(Formatter.java:2730) at
java.base/java.util.Formatter.parse(Formatter.java:2706) at
java.base/java.util.Formatter.format(Formatter.java:2653) at
java.base/java.util.Formatter.format(Formatter.java:2607) at
java.base/java.lang.String.format(String.java:2734) at
com.testing.Home_form$2.actionPerformed(Home_form.java:68) at
Проблемма не в подключении, а в форматировании строки.
Если точнее в позиции '%' - в данной реализации знак % является специальньм символом. Чтоб его использовать, следует просто продублировать его:
("CREATE USER '%s'@'%%' IDENTIFIED BY '%s'",login.getText(),password.getText()));
connection.updateQuery(String.format("CREAGRANT ALL PRIVILEGES ON *.* TO '%s'@'%%' WITH GRANT OPTION",login.getText()));
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости