Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

Вопрос от недопонимания транзакций.   Найти похожие ветки 

 
galexis ©   (2004-12-10 11:35) [0]

Что нужно делать для запроса select: COMMIT или ROLLBACK? Чем заканчивается каждая из этих операций для select?


 
Term   (2004-12-10 11:38) [1]

для селективного запроса, насчёт этого не беспокойся


 
Александр Иванов ©   (2004-12-10 11:39) [2]

Именно для SELECT транзакция не нужна. Транзакция нужна в запросах по изменению данных или структур данных.


 
msguns ©   (2004-12-10 11:52) [3]

>Александр Иванов ©   (10.12.04 11:39) [2]
>Именно для SELECT транзакция не нужна.

Вай-вай !!! Это серьезно ? А если в ХП на изменение или триггере
исп-ся селест ?


 
stud ©   (2004-12-10 11:52) [4]


> Именно для SELECT транзакция не нужна. Транзакция
> нужна в запросах по изменению данных или структур
> данных

транзакия нужна для любого запроса

> Что нужно делать для запроса select: COMMIT

если отображаеш данные в визуальных компанентах и используеш ибх то в св-вах связанной транзакции поставь commitretaining


 
galexis ©   (2004-12-10 11:53) [5]

И все же. Что происходит с набором данных после операций Commit и RollBack?
Я использую IBQuery. После выполнения select и затем commit набор данных остается доступным? Или он теряется?


 
Александр Иванов ©   (2004-12-10 11:54) [6]

Я специально подчеркнул именно для SELECT.


 
galexis ©   (2004-12-10 11:55) [7]


> stud ©


> commitretaining

если можно, поподробнее, что это будет означать?


 
Term   (2004-12-10 12:00) [8]


>  commitretaining

сходи на ibase.ru там всё есть.


> Вай-вай !!! Это серьезно ? А если в ХП на изменение или
> триггере
> исп-ся селест ?

про это в вопросе небыло не слова :))) так что если он хочет сделать выборку, ничего комитить не надо :)))


 
galexis ©   (2004-12-10 12:01) [9]

У меня в комбобоксы грузятся данные из таблиц. Выбираются данные select"ом. После этого формируется большой запрос по значениям из этих комбобоксам. А перед этим большим запросом сбрасывается в ноль генератор. IBTransaction один. Поэтому перед сбросом генератора выполняю commit предыдущих селектов. Выполняю большой запрос. Потом пытаюсь повторить процедуру поиска, поменяв значения комбобоксов. IBQuery оказываются закрытыми. Получается что коммит закрывает IBQuery. Я прав?


 
Johnmen ©   (2004-12-10 12:02) [10]

>galexis ©  

В старых версиях IB предпочтительней было роллбэк. Начиная примерно с IB6 побарабану.
Есть ряд небольших статей на эту и смежные темы на ibase.ru


 
stud ©   (2004-12-10 12:02) [11]

подтверждение транзакции с сохранением контекста.


 
stud ©   (2004-12-10 12:04) [12]

в таких случаях лучше использовать хотя бы две транзакции - пишущую и читающую а вообще - ibse.ru как уже сказали. там подробнее


 
Term   (2004-12-10 12:09) [13]


> пишущую и читающую

а если он IBX использует :))


 
stud ©   (2004-12-10 12:20) [14]


> а если он IBX использует :))

вот именно))


 
galexis ©   (2004-12-10 12:54) [15]

С
> в таких случаях лучше использовать хотя бы две транзакции
> - пишущую и читающую

Спасибо. все работает и в голове больше порядка стало.


 
Term   (2004-12-10 13:20) [16]


> вот именно))

это как так, в компоненте TIBDataBase вроде подключается одна транзакция??? каким образом подключить вторую, вроде такая фишка в фибсах присутсвует


 
stud ©   (2004-12-10 13:25) [17]

в св-вах самой транзакции указываеш компонент бд и работаеш спокойно


 
stud ©   (2004-12-10 13:29) [18]

у IBDatabase прописывается тр. по умолчанию а самих компонентов ibtransaction может быть скока угодно.
у квери или других есть св-во transaction и запуск нужной например
ibsql.trasaction.starttransaction


 
Term   (2004-12-10 13:41) [19]

ну это то да, но я обычно хватает одной транзакции и траблов не возникло вроде, а две транзакции я нормально использовал только в фибсах


 
stud ©   (2004-12-10 13:44) [20]

ну не знаю я обычно не меньше двух использую


 
Term   (2004-12-10 13:58) [21]

незнаю я пока никаких проблем от того что использую только один компонент транзакции не имел


 
Term   (2004-12-10 13:59) [22]

незнаю я пока никаких проблем от того что использую только один компонент транзакции не имел, в основном использую IBX


 
Zacho ©   (2004-12-11 08:52) [23]

Александр Иванов ©   (10.12.04 11:39) [2]

Нужна, и ещё как. Про уровни изоляции знаем ?

Johnmen ©   (10.12.04 12:02) [10]
Насколько помню, как раз наоборот :)


 
Term   (2004-12-11 20:31) [24]


> Александр Иванов ©   (10.12.04 11:39) [2]
>
> Нужна, и ещё как. Про уровни изоляции знаем ?

он наверное имел ввиду что после выборки комитить ничего не нужно


 
jack128 ©   (2004-12-11 21:53) [25]

Term
stud ©  [18]

а вы не о разных вещах говорите??

в фидах две транзакции на ОДИН Dataset. В IBX можно реализовать тоже самое если сделать наследника от TIBDataSetUpdateObject. На том же ibase, кажись, есть статья на эту тему



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.038 c
4-1101575440
Bora
2004-11-27 20:10
2005.01.16
Прямой доступ к портам в WinXP


1-1104210033
HostLookUp
2004-12-28 08:00
2005.01.16
вопрос по Listbox


14-1103706471
КаПиБаРа
2004-12-22 12:07
2005.01.16
Поздравления


3-1102885803
SergP
2004-12-13 00:10
2005.01.16
ADOQuery. Подмена данных при их получении.


11-1085075514
Terminus
2004-05-20 21:51
2005.01.16
Еще о KOLTabControl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский