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

Вниз

Транзакции, господа...выручайте...   Найти похожие ветки 

 
TUserClass ©   (2008-07-14 18:56) [0]

Т.к. в interbas"e я полный нолик, возник вопрос по транзакциям.

Если выполнять какой-либо запрос (кроме SELECT) используя ту транзакцию, которая стоит в IBDatabase.DefaultTransaction, то со всех DataSet"ов, подключенных к этой IBDataBase улетают все данные, вы мне скажите - так и должно быть? Мне не впадлу подгрузить таблички заново. А если использовать какую-либо "стороннюю" транзакцию, то все ОК, только вот пользователь на другом компе не сможет увидеть обновленную инфу.


 
Правильный$Вася   (2008-07-14 19:11) [1]

одна читающая, одна пишущая
а других пользователей не лепи в кучу, они сюда не относятся


 
Loginov Dmitry ©   (2008-07-14 19:57) [2]

> Если выполнять какой-либо запрос (кроме SELECT) используя
> ту транзакцию, которая стоит в IBDatabase.DefaultTransaction,
> то со всех DataSet"ов, подключенных к этой IBDataBase улетают
> все данные, вы мне скажите - так и должно быть?


Сами по себе чтоли улетают? Врядли. После вылолнения запроса на изменение данных делаешь TIBTransaction.Commit? Это более вероятно. Переоткрывай нужные наборы данных, либо проводи транзакцию без очистки клиентского буффера (TIBTransaction.CommitRetaining). Распространенной практикой работы с базами Interbase/Firebird является использование двух транзакций: короткой - на запись и длительной - на чтение. Хочешь что-то записать - стартуй транзакцию на запись, внеси изменения и сразу ее подтверди. Затем переоткрой соответствующие наборы данных, подключенные к читающей транзакции.


> только вот пользователь на другом компе не сможет увидеть
> обновленную инфу.


проектируй так, чтобы видел. Строй логику так, чтобы при открытии тех или иных форм приложения переоткрывались соответствующие наборы данных. Естественно, читающая транзакция должна иметь тип "read commited".


> Т.к. в interbas"e я полный нолик.


Возможно следующий источник поможет предотвратить появление множество вопросов, связанных с наличием указанного уровня знаний в области interbase:

www.ibase.ru


 
Johnmen ©   (2008-07-14 21:37) [3]


> Т.к. в interbas"e я полный нолик, возник вопрос по транзакциям.

Т.к.  в interbas"e ты полный нолик, то начни с изучения документации. Не строй из себя чукчу.


 
Игорь Шевченко ©   (2008-07-14 22:29) [4]


> Мне не впадлу подгрузить таблички заново


автор должен железно просечь: хочешь неслабо выступить, завязывай с жаргоном.


 
brother ©   (2008-07-15 06:46) [5]

[2] самое то... а жаргон, ну это как то в глаза бросается( не надо так


 
TUserClass ©   (2008-07-15 10:02) [6]

Извиняюсь за "впадлу" :). Пока что помог CommitRetaining. Спасибо Loginov Dmitry. Топик не закрывайте, чую будут еще вопросы :)


 
brother ©   (2008-07-15 10:03) [7]

> CommitRetaining

он и должнон был помоч )


 
brother ©   (2008-07-15 10:04) [8]

только вот, как часто его делать, это уже риторический вопрос



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

Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.055 c
1-1196520892
NikolayV
2007-12-01 17:54
2008.08.17
Вопрос по ThemeServices


2-1216116471
Костик
2008-07-15 14:07
2008.08.17
как определить координаты?


15-1214770690
vister
2008-06-30 00:18
2008.08.17
Отладка программы


1-1196765671
LexXL
2007-12-04 13:54
2008.08.17
подскажите компонент


2-1216041467
JN
2008-07-14 17:17
2008.08.17
class function





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский