![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| EChuprynin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.8.2003 Репутация: нет Всего: нет |
Стоит Oracle 9i. Не могу добиться обновления набора записей, созданного с помощью SELECT-та. Взял пример из http://java.sun.com/docs/books/tutorial/jd...ot0/sample.html, с небольшими измениями:
package jdbc_update; import java.sql.*; import oracle.jdbc.driver.*; public class InsertRows { public static void main(String args[]) { String url = "jdbc:oracle:thin:@nalog.upr.skzd.mps:1521:nalog"; Connection con; Statement stmt; try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e){ e.printStackTrace(); } try { // System.setProperty("jdbc.drivers", "oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection(url, "echuprynin", "555555"); stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet uprs = stmt.executeQuery ("SELECT * FROM T_Employees"); uprs.moveToInsertRow(); uprs.updateString("LAST_NAME", "Петров"); uprs.beforeFirst(); System.out.println("Данные таблицы после вставки:"); while (uprs.next()) { String name = uprs.getString("LAST_NAME"); int id = uprs.getInt("ID_EMPLOYEES"); System.out.print(name + " " + id + " "); } uprs.close(); stmt.close(); con.close(); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } } } Выбрасывает сообщение: SQLException: Недопустимая операция для доступного только для чтения набора результатов: moveToInsertRow Подскажите, как добиться обновления набора результатов. |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
JDBC какой?
|
|||
|
||||
| EChuprynin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.8.2003 Репутация: нет Всего: нет |
Первоначально пробовал на JDBC 2.0 Oracle9i 9.2.0.1.0 JDBC Drivers для JDK 1.1 - classes111.zip
Попробовал для JDK 1.4 - ojdbc14.jar и для JDK 1.2 and JDK 1.3 - classes12.zip Та же ошибка Взял драйвера из Oracle9i 9.0.1.0.0 classes12.zip и classes111.zip Выдает это же сообщение, но вместо русских букв знак вопроса. |
|||
|
||||
| EChuprynin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.8.2003 Репутация: нет Всего: нет |
Спасибо за наводящий вопрос! Полез на сайт Оракла и нашёл ошибку. Кому интересно:
ResultSet uprs = stmt.executeQuery ("SELECT T_Employees.* FROM T_Employees"); |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
О! Уже нашел...
Там от JDBC зависит... В оракле ResultSet uprs = stmt.executeQuery ("SELECT T_Employees.* FROM T_Employees"); И вроде как можно ResultSet uprs = stmt.executeQuery ("SELECT перечисление полей FROM T_Employees"); Постгри только второй вариант... НедоСКУл (MySQL) вообще не поддерживает... Во всяком случае я такого не мог проделать... |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |