|
|
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Пишу менеджер СУБД и есть в нем замечательное место, где пользователь вводит свой запрос(ы) и получает результат! Собственно вопрос: поскольку пользователь может вводить любой тип запроса (SELECT, UPDATE, INSERT...) нужно как то при выполнении программы отследить что это за запрос (выборка данных, обновление данных) и направить на свой метод executeQuery, execute, executeUpdate. Как это сделать? Может есть в JDBC какой то класс, который позволяет обрабатывать запрос(ы) через один метод? или есть стороняя библиотека, которая позволяет это делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 10:28:37 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
А чем Вас не устроил execute? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 10:35:13 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
Тем что при выполнении запроса с выборкой данных (SELECT) не возвращается ResultSet, я не могу получить доступ к даннм, которые были сформированы после выполнения запроса в программе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 10:41:58 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:04:20 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
Kachalov Код: plaintext 1. 2. 3. 4. Этот способ не очень хорош. К примеру, при выполнении хранимой процедуры (в Sybase ASE) эта конструкция не в состоянии понять, что ХП может вернуть набор данных, причем множественных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:18:41 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог Код: plaintext 1. 2. 3. 4. (в Sybase ASE) эта конструкция не в состоянии понять, что ХП может вернуть набор данных, причем множественных. А в нем вызывать такую процедуру select'ом, как в Oracle или firebird? -- Алексей Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:22:56 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
Софтверный проктологЭтот способ не очень хорош. К примеру, при выполнении хранимой процедуры (в Sybase ASE) эта конструкция не в состоянии понять, что ХП может вернуть набор данных, причем множественных. - это был пример для человека который не хочет читать документацию. Как организовать получение множественного результата лично я знаю. Если Вы хотите помочь человеку - напишите код и это будет конструктивно. Я посчитал что приведенного фрагмента для ответа на его вопрос достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:23:30 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
НУ ладно ругаться, понедельник день тяжелый, особенно после отпуска )) Проблема в том что если запускать в одном запросе SELECT...; INSERT...; SELECT...; то последний SELECT никак данные не возвращает... haveMoreResults() собственно не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:26:38 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
KerifНУ ладно ругаться, понедельник день тяжелый, особенно после отпуска )) Проблема в том что если запускать в одном запросе SELECT...; INSERT...; SELECT...; то последний SELECT никак данные не возвращает... haveMoreResults() собственно не помогает Так делать нельзя. Вам нужно разбить набор select..., insert..., select на ряд атомарных операций и выполнять их последовательно (в отдельном запросе каждый). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:38:49 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
Плохо, мне почему то казалось, что если СУБД поддерживает композитные запросы, то такая конструкция будет работать. Ну ладно разбивать запросы, так разбивать ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:49:03 |
|
||
|
JDBC. Выполнение разных типов запросов (SELECT, INSERT...) в одном методе
|
|||
|---|---|---|---|
|
#18+
KerifПлохо, мне почему то казалось, что если СУБД поддерживает композитные запросы, то такая конструкция будет работать. Ну ладно разбивать запросы, так разбивать ) СУБД-то поддерживает. Вот только драйвера JDBC не обязаны. У вас есть сложность с разбиением запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 11:50:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34900915&tid=2144199]: |
0ms |
get settings: |
14ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 337ms |
| total: | 493ms |

| 0 / 0 |
