Форум: "Базы";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
ВнизПроблема с 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 вся ветка
Форум: "Базы";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c