Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Запрос к БД через JDBC / 13 сообщений из 13, страница 1 из 1
14.10.2013, 19:25:51
    #38427166
Zard0nic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Имеется запрос: "UPDATE `iConomy` SET `balance` = "+newbalance+" WHERE `username` = '"+name+"'".
newbalance хранит int, который равен 5. username - string, хранит имя пользователя. Однако при попытке запроса к БД вылазит ошибка вроде "Unknown column 'Jackie' in 'where clause". Jackie - имя пользователя.
Подскажите, может запрос неправильно составлен? Потому что база есть, колонки тоже, и name имеется.
...
Рейтинг: 0 / 0
14.10.2013, 19:28:57
    #38427173
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Zard0nic,

двойные кавычки обозначают идентификатор
...
Рейтинг: 0 / 0
14.10.2013, 20:26:12
    #38427221
Zard0nic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Поменял, но ошибка все равно осталась.
...
Рейтинг: 0 / 0
15.10.2013, 09:37:36
    #38427594
oneHalf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Я, конечно, может чё не понял - а понатыканные одиночные ковычки нахуа? В результате в запросе username - воспринимается как значение, а name - как колонка. Вообще, если впиндюрить туда еще пару сотен ковычек, думаю, рано или поздно взлетит.
...
Рейтинг: 0 / 0
15.10.2013, 09:38:27
    #38427596
maxkar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Zard0nic,

Используйте PreparedStatement, а не ручную склейку запросов.
...
Рейтинг: 0 / 0
15.10.2013, 09:41:05
    #38427600
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Zard0nic,

Не парьтесь с кавычками и сделайте параметризированный запрос:
Код: java
1.
2.
3.
4.
5.
PreparedStatement ps = connection.prepareStatement("UPDATE iConomy SET balance = ? WHERE username = ?");
ps.setInt(1, 5); // 1-balance
ps.setString(2, "Jackie"); // 2-username
ps.executeUpdate();
...
...
Рейтинг: 0 / 0
15.10.2013, 15:58:50
    #38428423
Zard0nic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Usman,
использовал ваш запрос, но все равно запрос не работает.
...
Рейтинг: 0 / 0
15.10.2013, 17:51:24
    #38428607
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Zard0nic, этот форум очень любит читать стектрейсы исключений. И очень не любит
догадки и домыслы самого топик-старттера. Проще говоря нужны факты.
...
Рейтинг: 0 / 0
15.10.2013, 18:51:47
    #38428676
GaraZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Zard0nicUsman,
использовал ваш запрос, но все равно запрос не работает.

а пишет то что? ошибка таже?
...
Рейтинг: 0 / 0
15.10.2013, 21:18:28
    #38428813
Zard0nic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
GaraZ,

да, точно такая же
...
Рейтинг: 0 / 0
15.10.2013, 21:22:42
    #38428814
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Парень или давай текст DDL таблицы и зависимых триггеров или stacktrace ну вообщеж ни пса нипонятно
будем тут на кофейной гуще гадать или на картах таро.
...
Рейтинг: 0 / 0
15.10.2013, 21:29:58
    #38428819
Zard0nic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Приложил базу. Все остальное выполнялось по запросу выше.
...
Рейтинг: 0 / 0
16.10.2013, 06:18:05
    #38429071
пролетевший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД через JDBC
Zard0nicGaraZ,

да, точно такая же
Точно такая же не может быть по определению - PreparedStatement парсится сервером до подстановки параметров, когда никакого Jackie еще в помине нет. И подставляться объекты базы данных ( таблицы, колонки ) не могут. Либо не перекомпилировали, либо не то запустили.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Запрос к БД через JDBC / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]