Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle JDBC: добавление записи в таблицу / 2 сообщений из 2, страница 1 из 1
23.12.2006, 18:23:40
    #34220649
Вася-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC: добавление записи в таблицу
Добрый день
Пытаюсь написать сервлет, записывающий данные в таблицу Оракла, но нихрена не получается =(
сервлет
Код: 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
        try  {   //DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
           ora.setConnection( new  ConnectionDescriptor(
           "jdbc:oracle:thin:@127.0.0.1:1521:PROBA", "miller", "kolobok", false,
           "oracle.jdbc.driver.OracleDriver"));


           out.println("<p>Processing Oracle data...</p>");
           out.println("<p><h2>Something happens...</h2></p><br>");


           ora.setAutoCommit(true);

           PreparedStatement pstmt = ora.createPreparedStatement("INSERT INTO staff (ID, NAME, HIRE_DAT) VALUES(4, 'Vasya', SYSDATE)");
           //Statement pstmt = ora.createStatement();

           //stmt.setString(1, firstName);
           pstmt.executeQuery();
           
           
           pstmt.close();

           
           
           Statement stmt = ora.createStatement();
           ResultSet rset = stmt.executeQuery("SELECT * FROM STAFF");

            while  (rset.next()) {

           //out.println("<p>Printing Oracle data...</p>");

           out.println(rset.getInt( 1 ) + "   |   " + rset.getString( 2 ) +
                           "   |   " + rset.getDate( 3 ));
           out.println("<br>");
           }

           rset.close();

           //rset.close();
           stmt.close();

           ora.closeConnection();
           out.println("<p><h2>Record was added successfully!</h2></p>");

       }
        catch  (SQLException exc)
       {
           out.println("<p>There was an error in jdbc block...</p>");
           exc.printStackTrace();
       }

при его выполнении браузер даже не ругается - просто показывает песочные часы...=(
Вся проблема именно вот в этом маленьком кусочке:
Код: plaintext
1.
2.
3.
4.
5.
6.
           PreparedStatement pstmt = ora.createPreparedStatement("INSERT INTO staff (ID, NAME, HIRE_DAT) VALUES(4, 'Vasya', SYSDATE)");
           //Statement pstmt = ora.createStatement();

           //stmt.setString(1, firstName);
           pstmt.executeQuery();

без него всё идёт отлично - данные выбираются и выводятся на экран...
Причём при выполнении этой строки непосредственно в SQL*Plus данные также добавляются без проблем...
В чём же дело??
...
Рейтинг: 0 / 0
23.12.2006, 18:35:28
    #34220653
Вася-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC: добавление записи в таблицу
точнее вместо
pstmt.executeQuery();

стоит
pstmt.executeUpdate();
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle JDBC: добавление записи в таблицу / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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