|
|
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
мое почтение не поможите разобраться в чем проблема при выполнении следующего кода на MySQL String query = "select user_id from users where UPPER(user_name) = UPPER(?)"; Connection conn = null; CallableStatement cs = null; ResultSet rs = null; try { conn = SectorsSystem.getConnection(); cs = conn.prepareCall(query); cs.setString(1, name); rs = cs.executeQuery(); while (rs.next()) { user_id = rs.getLong(1); } } catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try {rs.close(); } catch (SQLException e) { e.printStackTrace();} finally { rs = null;} if (cs != null) try {cs.close(); } catch (SQLException e) { e.printStackTrace();} finally { cs = null;} } на prepareCall вываливается ошибка: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: FUNCTION user_id does not exist данная конструкция работает на Oralce и MSSQL, а вот на MySQL чего то нехочет. Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:36:17 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
PreparedCall используется при вызове хранимой процедуры. Запросы следует выполнять с помощью класса PreparedStatement. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:39:36 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
Кстати, ваш код — говно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:39:54 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
тогда почему же на oracle и mssql все работало? Софтверный проктологКстати, ваш код — говно. ну поделитесь опытом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:47:36 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
evgenisну поделитесь опытом Вариант плохой. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Вариант хороший. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:56:13 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
Вариант, который вы должны были сами написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 11:24:58 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог Не надоело одно и то же писать? стока букф... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 12:36:08 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
TimmНе надоело одно и то же писать? стока букф... Неа. Мне требуется разрядка — сделать что-нибудь простое и бессмысленное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 13:05:27 |
|
||
|
prepareCall
|
|||
|---|---|---|---|
|
#18+
evgenisтогда почему же на oracle и mssql все работало? Софтверный проктологКстати, ваш код — говно. ну поделитесь опытом Интерфейс JDBC с различными СУБД работает по-разному. PrepareCall все же лучше использовать для вызова хранимых процедур, а для прекомпилированных запросов использовать PreparedStatement У вас же вполне очевидная ошибка от MySQL - он пытается выполнить хранимую процедуру под названием user_id и не может ее отыскать. Задайте этот вопрос в форуме МySQL - мож там знаю как DML запрос за хранимую процедуру выдать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:12:59 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34928137&tid=2144042]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
38ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 342ms |
| total: | 513ms |

| 0 / 0 |
