powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
12 сообщений из 12, страница 1 из 1
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900658
Kerif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Пишу менеджер СУБД и есть в нем замечательное место, где пользователь вводит свой запрос(ы) и получает результат!
Собственно вопрос: поскольку пользователь может вводить любой тип запроса (SELECT, UPDATE, INSERT...) нужно как то при выполнении программы отследить что это за запрос (выборка данных, обновление данных) и направить на свой метод executeQuery, execute, executeUpdate. Как это сделать?
Может есть в JDBC какой то класс, который позволяет обрабатывать запрос(ы) через один метод? или есть стороняя библиотека, которая позволяет это делать?
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900677
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем Вас не устроил execute?
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900706
Kerif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тем что при выполнении запроса с выборкой данных (SELECT) не возвращается ResultSet, я не могу получить доступ к даннм, которые были сформированы после выполнения запроса в программе
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900770
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KerifТем что при выполнении запроса с выборкой данных (SELECT) не возвращается ResultSet, я не могу получить доступ к даннм, которые были сформированы после выполнения запроса в программе
- а читать документацию не пробовали?
JDK
boolean execute(String sql)
throws SQLException

Executes the given SQL statement, which may return multiple results. In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.

The execute method executes an SQL statement and indicates the form of the first result. You must then use the methods getResultSet or getUpdateCount to retrieve the result, and getMoreResults to move to any subsequent result(s).

Parameters:
sql - any SQL statement
Returns:
true if the first result is a ResultSet object; false if it is an update count or there are no results
Throws:
SQLException - if a database access error occurs
See Also:
getResultSet(), getUpdateCount(), getMoreResults()


Код: plaintext
1.
2.
3.
4.
 boolean  b=statement.execute("SQL-query");
 if (b){
   ResultSet result=statement.getResultSet();
}
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900822
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
Код: plaintext
1.
2.
3.
4.
 boolean  b=statement.execute("SQL-query");
 if (b){
   ResultSet result=statement.getResultSet();
}

Этот способ не очень хорош. К примеру, при выполнении хранимой процедуры (в Sybase ASE) эта конструкция не в состоянии понять, что ХП может вернуть набор данных, причем множественных.
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900845
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Софтверный проктолог
Код: plaintext
1.
2.
3.
4.
boolean b=statement.execute("SQL-query");
if(b){
   ResultSet result=statement.getResultSet();
}
Этот способ не очень хорош. К примеру, при выполнении хранимой процедуры
(в Sybase ASE) эта конструкция не в состоянии понять, что ХП может
вернуть набор данных, причем множественных.


А в нем вызывать такую процедуру select'ом, как в Oracle или firebird?

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900848
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Софтверный проктологЭтот способ не очень хорош. К примеру, при выполнении хранимой процедуры (в Sybase ASE) эта конструкция не в состоянии понять, что ХП может вернуть набор данных, причем множественных.
- это был пример для человека который не хочет читать документацию. Как организовать получение множественного результата лично я знаю. Если Вы хотите помочь человеку - напишите код и это будет конструктивно. Я посчитал что приведенного фрагмента для ответа на его вопрос достаточно.
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900861
Kerif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НУ ладно ругаться, понедельник день тяжелый, особенно после отпуска ))
Проблема в том что если запускать в одном запросе SELECT...; INSERT...; SELECT...;
то последний SELECT никак данные не возвращает... haveMoreResults() собственно не помогает
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900915
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KerifНУ ладно ругаться, понедельник день тяжелый, особенно после отпуска ))
Проблема в том что если запускать в одном запросе SELECT...; INSERT...; SELECT...;
то последний SELECT никак данные не возвращает... haveMoreResults() собственно не помогает
Так делать нельзя. Вам нужно разбить набор select..., insert..., select на ряд атомарных операций и выполнять их последовательно (в отдельном запросе каждый).
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900964
Kerif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Плохо, мне почему то казалось, что если СУБД поддерживает композитные запросы, то такая конструкция будет работать. Ну ладно разбивать запросы, так разбивать )
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34900973
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KerifПлохо, мне почему то казалось, что если СУБД поддерживает композитные запросы, то такая конструкция будет работать. Ну ладно разбивать запросы, так разбивать )
СУБД-то поддерживает. Вот только драйвера JDBC не обязаны.
У вас есть сложность с разбиением запросов?
...
Рейтинг: 0 / 0
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
    #34901011
Kerif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да какие тут сложности? ) регуляркой порежу, да и все ))
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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