|
|
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Есть необходимость сразу после операции insert получать id строки, сделал так: ResultSet result; Connection conn = DriverManager.getConnection(URL, USER, PASS); Statement stmt = conn.createStatement(); String sql = "INSERT INTO tbl_Contractor (contractor_name) " + "VALUES ('"+ContractorName+"')"; PreparedStatement prep = conn.prepareStatement(sql ,stmt.RETURN_GENERATED_KEYS); result = prep.getGeneratedKeys(); if(result.next() && result != null){ System.out.println("Key: " + result.getInt(1)); } else { System.out.println("null"); } conn.close(); К сожалению не работает) пишет: java.lang.UnsupportedOperationException на строку: PreparedStatement prep = conn.prepareStatement(sql ,stmt.RETURN_GENERATED_KEYS); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:04 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
AlexOk, Зачем вам Prepared Statement если вы параметры инжектите непосредственно в запрос нарываясь сразу на несколько граблей? И не желаете ли вы нас просветить по поводу названия JDBC драйвера и его версии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:20 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, oracle.jdbc.driver.OracleDriver, ojdbc6, jdk1.7, intelij idea Хм, вообщем нужен просто insert и сразу вытащить id строки. Если у вас есть какие-то мысли на этот счет буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:28 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
AlexOk, http://stackoverflow.com/a/4224729 For some JDBC drivers (for example, Oracle) you have to explicitly list the column names or indices of the generated keys: Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:37 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
AlexOkBlazkowicz, oracle.jdbc.driver.OracleDriver, ojdbc6, jdk1.7, intelij idea Хм, вообщем нужен просто insert и сразу вытащить id строки. Если у вас есть какие-то мысли на этот счет буду признателен. IMHO & AFAIK Прочитать документацию по Oracle, например SQL Reference: INSERT...RETURNING. В общем - RTFM и будет Вам счастье. Ну, или в крайнем случае, поискать в гугле. Тут же находится пример кода на данном форуме. http://www.sql.ru/forum/154796/insert-returning-into-v-oracle-9-2-cherez-jdbc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:37 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я пробовал [автор] ResultSet result; Connection conn = DriverManager.getConnection(URL, USER, PASS); Statement stmt = conn.createStatement(); String sql = "INSERT INTO tbl_Contractor (contractor_name) " + "VALUES ('"+ContractorName+"')"; PreparedStatement prep = conn.prepareStatement(sql ,new String[]{"id"}); result = prep.getGeneratedKeys(); if(result.next() && result != null){ System.out.println("Key: " + result.getInt(1)); } else { System.out.println("error"); } conn.close(); [/quote] Тоже самое пишет =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:43 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevINSERT...RETURNING. +1 проще и железобетонно раз Оракл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:44 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Окей спасибо за наводку, дальше сам разберусь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 15:47 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Petro123Leonid KudryavtsevINSERT...RETURNING. +1 проще и железобетонно раз Оракл. проще прочитать Oracle документацию. Вот лично мне - читать в лом, к тому же, экспериментировать не на чем (Oracle под руками нет). https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getGeneratedKeys() https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OraclePreparedStatement.html https://docs.oracle.com/cd/B19306_01/java.102/b14355/jdbcvers.htm#CHDEGDHJ etc... Ну и версии драйвера AlexOk так и не сказал. Вполне возможно, что там действительно UnsupportedOperation ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:01 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
AlexOk, С БД access Returning провернуть получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:09 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
А какой JDBC драйвер Вы будете для MS Access использовать? Вот по нему доку и смотрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:12 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
MS Access Driver version 14.00.7010.1000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:14 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Кинь url. Что то не верится, что приведенная тобой строчка относится к JDBC driver'у. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:36 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, jdbc:odbc:DEVEL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:37 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
это url который я настроил руками. В диспетчере odbcad32 выбран именно тот драйвер который я линканул, где задан путь к файлу БД. Может чего не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:42 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
IMHO & AFAIK JDBC -- ODBC бридж только для 32 разрядной Java работает - т.ч. в топку, такая глюка даже не интересна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:46 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
AlexOkMS Access плюнь на него. Оракле XE ставится за 30 мин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 16:51 |
|
||
|
PreparedStatement и RETURN_GENERATED_KEYS
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Working code ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2016, 01:01 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=84&tid=2123560]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 359ms |

| 0 / 0 |
