Вниз
Скачать: CL | DM;

Проблема с Commit в IB   Найти похожие ветки 

← →
Orpheus ©   (2003-06-19 08:12) [0]

Здравствуйте, Мастера!
Делаю TIBTransaction.StartTransaction
Затем TIBSQL.ExecQuery (несколько INSERT-ов)
Затем TIBTransaction.Commit
(**)
Затем TIBQuery.ExecQuery (SELECT те самые INSERT-ed записи)
Записи не отображаются...
Делаю вместо (**) TIBDatabase.Disconnect; TIBDatabase.Connect;
тогда все работает.
Понимаю, что дело в кэше. Но как их отключить (а лучше не отключить, а сбросить в базу!!!) не знаю... Помогите, пожалуйста.


← →
Наталия ©   (2003-06-19 08:16) [1]

При "SELECT те самые INSERT-ed записи"
нужно делать TIBQuery.Open, а не TIBQuery.ExecQuery


← →
Zacho ©   (2003-06-19 08:17) [2]


> Orpheus © (19.06.03 08:12)

Дело не в каком-то там кэше, а в уровне изоляции транзакций. Поставь ReadCommitted. И почитай статьи на http://www.ibase.ru/develop.htm


← →
Orpheus ©   (2003-06-19 08:22) [3]

Там так и есть на самом деле (не пугайтесь - это реализация Automation server - логика работы программы прописана на VBScript):


procedure THTable.ExecSQL(const aSQL: WideString); safecall;
begin
Set_Active(false); // т.е. IBQuery.Active:= false;
Set_SQL(aSQL); // т.е. IBQuery.SQL.Text:= aSQL;
Set_Active(true); // т.е. IBQuery.Active:= true;
end;


← →
Alexandr ©   (2003-06-19 08:23) [4]

тебе эе сказали выставь ReadCommited вместо repaetableRead
а ты хвастаешься знанием VbScript


← →
Orpheus ©   (2003-06-19 08:56) [5]

Спасибо, помогло!


← →
Zacho ©   (2003-06-19 09:03) [6]

И обязательно почитай статьи на www.ibase.ru, особенно http://www.ibase.ru/devinfo/ibtrans.htm



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-31482
Mike B.
2003-06-24 14:46
2003.07.10
Суровые армейские будни


3-31083
OlegM
2003-06-16 13:11
2003.07.10
Вопрос по MySQL


1-31196
SEYD
2003-06-28 14:00
2003.07.10
Зацикливание классов


4-31563
Петр
2003-05-11 11:19
2003.07.10
Сообщения на обработку нажатия клавиш


14-31504
Silentium!
2003-06-19 17:29
2003.07.10
процессы




   Наверх