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

JDBC: PreparedStatement

01.08.2013, 15:52. Показов 1890. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возник вопрос: в каком месте я имею право ставить знак "?"?
SQL
1
SELECT ? FROM some_table;
SQL
1
SELECT * FROM some_table WHERE ? = 3;
Нельзя ли так использовать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.08.2013, 15:52
Ответы с готовыми решениями:

Ошибка в jdbc+oracle: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Вот такой трабл: на Class.forName('oracle.jdbc.driver.OracleDriver'); отвечает java.lang.ClassNotFoundException:...

PreparedStatement + MySQL
Коллеги, привет! Столкнулся с такой проблемкой. Хочу с помощью PreparedStatement создать схему на MySQL, собственно использую такой...

PreparedStatement не работатет
Доброе время суток. Код public Users getLoginAndPassword(String login) throws SQLException { PreparedStatement...

7
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
01.08.2013, 16:28
Проверил, мне выдало
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerEx ception: Must declare the table variable "@P0".

а через конкатенацию строк работает )
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
01.08.2013, 16:43
? -грубо говоря это место в которое будет всунуто значение. такшо шото типа:
Java
1
2
3
SELECT col1, col2
FROM table
WHERE field = ?;
0
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
01.08.2013, 17:00  [ТС]
AckiyBolt, я понимаю, но вот допустим мне нужно выбрать столбец, название которого я заранее не знаю, как быть тогда?
То есть
SQL
1
SELECT ? FROM (SELECT id, name FROM some_table)
а потом в PS сделать
Java
1
2
String columnName = "id";
somePS.setString(columnName);
Так нельзя?

Добавлено через 6 минут
Видимо нельзя так, выдает
Java
1
"ORA-01747: invalid user.table.column, table.column, or column specification"
Наверное он все столбцы в селекте как-то прекомпилит и, не найдя такой столбец, выдает ошибку при вызове.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
01.08.2013, 20:21
Простое правило:
В качестве параметров не может передаваться никакая метаинформация: имена таблиц, представлений, столбцов, никакие ключевые слова SQL или что либо подобное.
1
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
02.08.2013, 03:03  [ТС]
turbanoff, спасибо!
Получается только конкатенацией такое возможно проделать?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.08.2013, 12:09
Цитата Сообщение от Sakralbar Посмотреть сообщение
Получается только конкатенацией такое возможно проделать?
проделайте, проделайте - SQL inject будет вашей любимой темой потом )
0
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
02.08.2013, 14:25  [ТС]
mutagen, ну предложите, как сделать по-другому =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.08.2013, 14:25
Помогаю со студенческими работами здесь

PostgreSQL autoincrement PreparedStatement
Коллеги кто нибудь работал с PostgreSQL? B MySQL всё просто задаешь колонке параметер AUTO_INCREMENT и всем хорошо в PostgreSQL всё...

Как закрывать connection in PreparedStatement
Народ всем привет есть БД на postgres которое подключается к коду при помощи ConnectionPool C3p0(pooling data) а обработка базы...

Зачем PreparedStatement, если есть Statament + метод + параметр?
Допустим вот Statement + метод + параметр public void isStatementUpdate(String name , String value){ try { ...

Несоответствие символов в бд после переноса данных используя preparedStatement
Здравствуйте. MySQL, Workbench. Текст в Blob - ячейке выглядит следующим образом: "þíþí" (настоящий...

JDBC
Всем привет. Буду рад помощи. prStatement = myconnection.prepareStatement("select * from employees where salary > ? and department =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru