![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ограничения на транзакцию [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