Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / работа с SQL / DAO / 25 сообщений из 36, страница 1 из 2
06.06.2014, 13:25
    #38663540
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Добрый день, есть проблема.
есть кусочек кода, условный довольно.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
PreparedStatement pSt = null;
        try {
                    pSt = connection.prepareStatement("DELETE FROM NEWS WHERE ID_NEWS IN (1, 2)");
                    pSt.executeUpdate();
             } catch (SQLException e) {
                   //....
             }finally{
                  //закрываем тут все коннекшены и тд
             }


проблема заключается в том, что код отрабатывает с БД, не выкидывая никаких ошибок, но изменений в ней не проиходит.
как такое вообще может быть? в чем может быть причина?
буду очень благодарен за любую помощь
...
Рейтинг: 0 / 0
06.06.2014, 14:04
    #38663586
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
alex021проблема заключается в том, что код отрабатывает с БД, не выкидывая никаких ошибок, но изменений в ней не проиходит.
как такое вообще может быть? в чем может быть причина?
буду очень благодарен за любую помощь

А коммит?
...
Рейтинг: 0 / 0
06.06.2014, 14:37
    #38663630
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Alexey Tomin,
что вы имеете ввиду? в sql запросе писать или о чем вы?
...
Рейтинг: 0 / 0
06.06.2014, 15:25
    #38663741
For All
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
гугл в помощь
...
Рейтинг: 0 / 0
06.06.2014, 18:15
    #38664021
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
For All,

спасибо, коненчо) но разве обязательно писать как транзакцию такой простой запрос? обычно транзакции, на соклько я знаю, пишут в случае проведения изменений в нескольких таблицах? поправьте , если я не прав.
...
Рейтинг: 0 / 0
08.06.2014, 23:03
    #38664823
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
alex021,

Транзакции обязательно. Всегда. Везде. Запомни и всегда делай только так
...
Рейтинг: 0 / 0
09.06.2014, 07:52
    #38664901
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
MikkiMousealex021,

Транзакции обязательно. Всегда. Везде. Запомни и всегда делай только так
спорное утверждение
...
Рейтинг: 0 / 0
09.06.2014, 09:31
    #38664955
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяспорное утверждение"Для фиксации результата delete нужен commit" - спорное утверждение?
...
Рейтинг: 0 / 0
09.06.2014, 10:03
    #38664982
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяMikkiMousealex021,

Транзакции обязательно. Всегда. Везде. Запомни и всегда делай только так
спорное утверждение

Есть sql базы, работающие без транзакций?
Нет, бывают извращения вроде MySQL на каком-то из движков, но это всё ж редкость.

PS: NoSQL обычно не поддерживают JDBC :)
...
Рейтинг: 0 / 0
09.06.2014, 10:16
    #38664995
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Basil A. Sidorovвадяспорное утверждение"Для фиксации результата delete нужен commit" - спорное утверждение?

не обязательно.
первоисточник, пожалуйста.
у меня работает без commit.
...
Рейтинг: 0 / 0
09.06.2014, 10:18
    #38664998
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
первым делом я б проверил права на удаление из таблицы
...
Рейтинг: 0 / 0
09.06.2014, 10:32
    #38665027
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяBasil A. Sidorovпропущено...
"Для фиксации результата delete нужен commit" - спорное утверждение?

не обязательно.
первоисточник, пожалуйста.
у меня работает без commit.

connection.setAutoCommit(true|false).
Можно выставить так, чтобы каждый update/select/delete сам вызывал commit.
Что там getAutoCommit говорит?
...
Рейтинг: 0 / 0
09.06.2014, 10:41
    #38665037
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяу меня работает без commit.
просто кто-то делает это вместо тебя
...
Рейтинг: 0 / 0
09.06.2014, 13:10
    #38665256
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Petro123вадяу меня работает без commit.
просто кто-то делает это вместо тебя

святой дух?
кто?
первоисточник на необходимость транзакций?
...
Рейтинг: 0 / 0
09.06.2014, 13:58
    #38665309
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяпервоисточник на необходимость транзакций?
Документация по Вашей СУБД. Если она позволяет изменять данные только в рамках транзакции (явной или неявной) то есть такая необходимость. Если Позвоялет внетранзакционные изменения, то то, что написано в ТЗ.
...
Рейтинг: 0 / 0
09.06.2014, 14:03
    #38665314
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяPetro123пропущено...

просто кто-то делает это вместо тебя

святой дух?

Я тебе писал 16140668 , кто.
...
Рейтинг: 0 / 0
09.06.2014, 14:22
    #38665339
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Сергей Арсеньеввадяпервоисточник на необходимость транзакций?
Документация по Вашей СУБД. Если она позволяет изменять данные только в рамках транзакции (явной или неявной) то есть такая необходимость. Если Позвоялет внетранзакционные изменения, то то, что написано в ТЗ.

тогда надо дождаться от ТС название его базы..

Alexey Tomin connection.setAutoCommit(true|false).
Можно выставить так, чтобы каждый update/select/delete сам вызывал commit.
ну если у меня это прописывает святой дух...
зы
у меня mysql
...
Рейтинг: 0 / 0
09.06.2014, 15:21
    #38665402
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяAlexey Tomin connection.setAutoCommit(true|false).
Можно выставить так, чтобы каждый update/select/delete сам вызывал commit.
ну если у меня это прописывает святой дух...

Нередко по-умолчанию именно что autoCommit=true.
Ты всё же посмотри- узнаешь много интересного.

вадяу меня mysql

Там вроде в MyISAM вообще нет транзакций- что-то совсем убогое. В InnoDB есть.
...
Рейтинг: 0 / 0
09.06.2014, 16:15
    #38665457
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
там по умолчанию стоит autoCommit, при установке сервера.
и если кто-то лазит и правит то это ....
ведь для нормального использования есть
START TRANSACTION;
COMMIT;
ну да, как проверка при возможном доступе кривых ручек - стоит проверить
...
Рейтинг: 0 / 0
09.06.2014, 16:18
    #38665462
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
To Вадя,

Какая связь между "при установке сервера" и функциями клиентского JDBC ?
...
Рейтинг: 0 / 0
09.06.2014, 16:54
    #38665516
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяPetro123пропущено...

просто кто-то делает это вместо тебя

святой дух?
кто?
первоисточник на необходимость транзакций?
например, SQLPlus.exe для оркла - его утилита.
Она (можно настроить) в конце коннекта сама делает коммит.
Вопрос о необходимости транзакции не имеет смысла.
Кто-то всё равно на клиенте Это делает )))
...
Рейтинг: 0 / 0
09.06.2014, 16:56
    #38665521
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
вадяSTART TRANSACTION;
вот это НЕобязательно, т.к. сервер САМ стартует транзакцию (неявно) на ИЗМЕНЕНИЕ данных.
...
Рейтинг: 0 / 0
09.06.2014, 17:25
    #38665552
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Petro123вадяSTART TRANSACTION;
вот это НЕобязательно, т.к. сервер САМ стартует транзакцию (неявно) на ИЗМЕНЕНИЕ данных.

Во-первых, он так же стартует транзакцию на чтение данных. Тот же Оракл- сам. А некоторые сервера хотят этого от клиента явно (и завершать- тоже явно, даже на чтение).
...
Рейтинг: 0 / 0
09.06.2014, 18:38
    #38665635
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Alexey TominТот же Оракл- сам.
Если уж быть точным, то для старта транзакции на чтение Oracle требуется явное указание.
Если транзакция не начата, то она версионнику и не требуется.
...
Рейтинг: 0 / 0
10.06.2014, 10:24
    #38666000
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с SQL / DAO
Сергей АрсеньевAlexey TominТот же Оракл- сам.
Если уж быть точным, то для старта транзакции на чтение Oracle требуется явное указание.
Если транзакция не начата, то она версионнику и не требуется.

А как же тогда можно простым select'ом получить "snapshot too old"? Вот как раз версионникам она и требуется- конкретно в interbase/firebird транзакции чтения надо стартовать явно :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / работа с SQL / DAO / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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