powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Базы данных
10 сообщений из 10, страница 1 из 1
Базы данных
    #39103748
Aliara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Только начинаю разбираться в java и возникло несколько вопросов по базам данных.
1. Что будет происходить, если не закрывать Statement и ResultSet
2. Можно ли несколько раз обращаться к одному Statement?
Например:
Код: java
1.
2.
3.
4.
Statement st = Сonn.createStatement();
ResultSet rs = st.executeQuery("какой-то запрос");
...
st.executeUpdate("какой-то запрос");


3. Если записи в бд были обновлены из программы, но при последующем чтении программа выдает старые записи, это значит, что надо делать commit?
...
Рейтинг: 0 / 0
Базы данных
    #39103769
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1. Что будет происходить, если не закрывать Statement и ResultSet

будет очень плохо
...
Рейтинг: 0 / 0
Базы данных
    #39103772
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2. Можно ли несколько раз обращаться к одному Statement?

можно

автор3. Если записи в бд были обновлены из программы, но при последующем чтении программа выдает старые записи, это значит, что надо делать commit?
да

лень закрывать - используй java8
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
try (Connection con = DriverManager.getConnection(getBase(), getBase_login(), getBase_password());
                CallableStatement proc = con.prepareCall("{call page1_xxx09(" + param + ")}");) {
            rs = proc.executeQuery();
          while(  rs.next()) {

          }
           
        } catch (SQLException ex) {
            Logger.getLogger(SSLServer.class.getName()).log(Level.SEVERE, null, ex);
        }


и не забудь посмотреть кино 18414124
ну и дочитать топик
...
Рейтинг: 0 / 0
Базы данных
    #39103793
Aliara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А commit происходит автоматически при закрытии statment? Или его отдельно писать надо?
...
Рейтинг: 0 / 0
Базы данных
    #39103803
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliara,

1. В какой-то момент закончится свободная память.
2. можно.
3. да, скорей всего commit
...
Рейтинг: 0 / 0
Базы данных
    #39103810
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AliaraА commit происходит автоматически при закрытии statment? Или его отдельно писать надо?
зависит от настроек базы
...
Рейтинг: 0 / 0
Базы данных
    #39103818
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадялень закрывать - используй java8
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
try (Connection con = DriverManager.getConnection(getBase(), getBase_login(), getBase_password());
                CallableStatement proc = con.prepareCall("{call page1_xxx09(" + param + ")}");) {
            rs = proc.executeQuery();
          while(  rs.next()) {

          }
           
        } catch (SQLException ex) {
            Logger.getLogger(SSLServer.class.getName()).log(Level.SEVERE, null, ex);
        }



это же справедливо и для java 7
...
Рейтинг: 0 / 0
Базы данных
    #39103820
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяAliaraА commit происходит автоматически при закрытии statment? Или его отдельно писать надо?
зависит от настроек базы
например, в mysql по умолчанию - автокомит
...
Рейтинг: 0 / 0
Базы данных
    #39103832
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174вадялень закрывать - используй java8
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
try (Connection con = DriverManager.getConnection(getBase(), getBase_login(), getBase_password());
                CallableStatement proc = con.prepareCall("{call page1_xxx09(" + param + ")}");) {
            rs = proc.executeQuery();
          while(  rs.next()) {

          }
           
        } catch (SQLException ex) {
            Logger.getLogger(SSLServer.class.getName()).log(Level.SEVERE, null, ex);
        }



это же справедливо и для java 7
не могу гарантировать...
...
Рейтинг: 0 / 0
Базы данных
    #39103839
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
тебе гарантировать не обязательно. достаточно, что оракл гарантирует :) только драйвер должен быть не старым, чтобы поддерживать такую фичу.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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