Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 08.12.2019
Сообщений: 59

Java jdbs не дает вставить данные в MySQL

11.10.2020, 20:38. Показов 1949. Ответов 5

Студворк — интернет-сервис помощи студентам
Есть метод для регистрации пользователей, он должен записывать логин и пароль в базу данных. Нашел 2 метода, как это сделать, но оба не работают.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public void registrationButton(ActionEvent actionEvent) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        String login = enterLogin.getText();
        String password = enterPassword.getText();
        try(Connection connection = DriverManager.getConnection(URL, USER, PASS)){
            Statement statement = connection.createStatement();
            statement.execute("INSERT INTO users(login1,password1) VALUES ("+enterLogin.getText()+","+enterPassword.getText()+")");
//            PreparedStatement pstmt = connection.prepareStatement( "INSERT INTO users (login1,password1) values (?,?)");
//            pstmt.setString(1, login);
//            pstmt.setString(2, password);
//            System.out.println("Проверка");
        }
    }
Метод с помощью statement записывает данные, но только числовые. На любую строку, где есть хоть одна буква выдает ошибку:
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'рандомнаяписаниналогин' at line 1. Тип данных в бд проверял - varchar
Закомментированный метод с PreparedStatement вообще ничего не записывает, но и ошибку не выдает. Как можно решить проблему?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2020, 20:38
Ответы с готовыми решениями:

Ввод даты с консоли в БД PostgreSQL (JDBS). Конфликт java.util.Date и java.sql.Date
Народ. Добрый вечер. Создаю базу библиотеки (учебная), есть такая таблица private static void initBooksDB() throws SQLException { ...

Вставить данные в MySQL
На локалке у меня вот такой запрос , на вывод новостей и тд. Работает на ура , а вот не могу вкурить как сделать чтобы заносить данные ?...

Как вставить данные из MySql в scrollArea QT
Подключил базу данных MySQL к окну в QT(думаю что подключил так как ошибки не выдает), а вот как сделать так чтобы в моем списке...

5
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.10.2020, 20:49
MaksimTiLu4shij, Была какая-то беда с кодировкой в мускуле. Латиницу тоже не пишет?
0
2 / 2 / 0
Регистрация: 08.12.2019
Сообщений: 59
11.10.2020, 21:43  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
MaksimTiLu4shij, Была какая-то беда с кодировкой в мускуле. Латиницу тоже не пишет?
Ни латиницу, ни кириллицу
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.10.2020, 22:18
Цитата Сообщение от MaksimTiLu4shij Посмотреть сообщение
PreparedStatement вообще ничего не записывает
Ну у него как минимум нужно вызвать executeQuery(); после установки значений.

А с первым вариантом косяк в кавычках похоже.
0
2 / 2 / 0
Регистрация: 08.12.2019
Сообщений: 59
12.10.2020, 11:28  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Ну у него как минимум нужно вызвать executeQuery(); после установки значений.

А с первым вариантом косяк в кавычках похоже.
В первом варианте все просмотрел - кавычки правильно стоят, почему же тогда он числа записывает. Во втором немного не понял, зачем мне executeQuery? Насколько я понял, он возвращает ResultSet и работает только с сетодом SELECT. Я попробовал способ с executeUpdate:
Java
1
2
3
String query = "INSERT INTO users (login1,password1) values ("+login+","+password+")";
            PreparedStatement pstmt = connection.prepareStatement( query);
            pstmt.executeUpdate(query);
но он делает все так же, как и первый вариант - записывает строки с числами, на строки с хоть одной буквой выдает ошибку:
Unknown column 'рандомныйлогинпароль' in 'field list'
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
12.10.2020, 12:00
MaksimTiLu4shij, ты не пререкайся, а посмотри на строку, которая получается в результате твоих конкатенаций. Ну и примеры посмотри для prepared statement, прочитай зачем он нужен - такую ерунду пишешь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2020, 12:00
Помогаю со студенческими работами здесь

Как вставить данные из переменных в mysql?
Добрый день. Про свой уровень в php я промолчу, вы и так поймёте. У меня не получается занести данные из формы в базу данных Задача: ...

Основы MySql. Не могу вставить в таблицу данные
Всем добрый день. Осваиваю C# и MySql начал с самых озов. Пытаюсь вставить всего два тестовых значения в тестовую таблицу. ...

вывести данные с mysql в java script
Здравствуйте! Есть на "локалке" БД MySQL - "Mbase" в ней таблица "loss" и записи "id" "nomerPack" "info" Как вывести все...

Как вставить xml данные со сложной структурой в базу данных mysql?
Здравствуйте! У меня есть xml файл со сложной структурой. Но никак не могу понять где моя ошибка Вот приерный XML Файл: ...

Не дает вставить русскую букву?
работаю в pgAdmin создаю таблицу: CREATE TABLE markcodes ( id SERIAL PRIMARY KEY, codename...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru