Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ограничения на транзакцию [D5, Paradox, ]


KonuhovSegey ©   (2001-12-30 11:21:00) 

При изменении большого количества записей в одной транзакции,
появляется ошибка без сообщения. В моем случае можно внести 256
изменений, без подтверждения, следующее изменение уже вызывает
исключительную ситуацию.
Разбить на несколько транзакций нельзя.
Кеширование изменений в TTable нежелательно.

БД Paradox не сетевая, однопользовательская.
Delphi 5, и BDE родной для нее.


Ынс   (2002-01-04 19:04:00) [1]

Ответ: в dbf файлах менять не больше 100 записей, в Парадоксе - 255...
это они там наверху такое придумали... чтобы изменять большее к-во записей надо получить монопольный доступ к таблице(предварительно отсоединившись):
напрЫмер:

var db : TDataBase;
//
....
db.Connected := false;
db.Exclusive := true;
db.Connected := true;
try
db.StartTransaction;
.....
// тут че то творишь с записями =-)
db.Commit;
except
db.RollBack; //Transaction failed. Шо то не сложилось!
raise;
end; //try transaction

dm.db.Connected := false;
dm.db.Exclusive := false;
dm.db.Connected := true;

//


Desdechado   (2001-12-31 13:55:00) [2]

попробуй поиграться параметрами драйвера в БДЕ
LEVEL
BLOCK SIZЕ
FILL FACTOR
а также Configuration - System - INIT


Наверх

Титульная страница Поиск, карта сайта Написать письмо