Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Как сделать чтобы изменения сохранялись в определенном порядке?   Найти похожие ветки 

 
Dzhon   (2004-05-05 20:53) [0]

Добрый вечер мастера! Я понимаю, что как я делать неправильно, но уже поздно. Вопрос такой: Есть 3 ClientDataSet"a, из них один главный, а два других входят в него (TDataSetField). Подчиненные ClienDataSet"ы соотносятся с двумя таблицами из БД, которые подчинены друг другу. Когда я делаю у главного ClientDataSet.ApplyUpdates() вылетает ошибка целостности БД. Когда делаю поочередно ApplyUpdates начиная с младшего, вылетает та же ошибка. Похоже обновление данных проходит за одну транзакцию. Можно как то этого избежать и сохранять данные каждого ClientDataSet"a поочередно?
Спасибо!


 
Курдль ©   (2004-05-05 22:08) [1]

Сумбурно написано. А что за база? Чем вызвано применение ClientDataSet"a?
Для удаления гланд через рот обычно делают так (insert):
DB.ApplyUpdates([MasterDataSet, DetailDataSet1, ... DetailDataSetN]);
где DB - компонент, определяющий сессию доступа к БД.


 
Dzhon   (2004-05-05 23:40) [2]

База - Informix
Применение ClientDataSet - потому что через DbExpress
Завтра опишу все подробнее:
Есть три компонента ClientDataSet1, ClientDataSet2, ClientDataSet3
У компонента ClientDataSet1 два поля типа TDataSetField: DataSetField1 и DataSetField2

ClientDataSet2.DataSetField = DataSetField1
ClientDataSet3.DataSetField = DataSetField2

В БД 3 таблицы Table1, Table2, Table3. Таблица Table2 связана с Table1. Таблица Table3 связана с Table2.

CREATE TABLE T1 (id1 INT);
ALTER TABLE T1 ADD PRIMARY KEY id1;

CREATE TABLE T2 (id1 INT, id2 INT);
PRIMARY KEY (id1, id2);
FOREIGN KEY REFERENCES T1;

CREATE TABLE T3 (id1 INT, id2 INT, id3 INT);
PRIMARY KEY (id1, id2, id3);
FOREIGN KEY REFERENCES T1;

И вот: когда записи добавляются одновременно во все три датасета возникает ошибка целостности базы. Как мне сделать что бы сначала записывался ClientDataSet1, потом ClientDataSet2, а затем ClientDataSet3?



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

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.47 c
7-1080938781
Dmitry M. Volkov
2004-04-03 00:46
2004.05.30
неснимаемое приложение


1-1083911503
andrey__
2004-05-07 10:31
2004.05.30
TServiceApplication - организация интерфейса


9-1075756241
Lucky[ELF]
2004-02-03 00:10
2004.05.30
Перевод цвета из 24 бит в 16 бит


6-1081499243
Srg
2004-04-09 12:27
2004.05.30
TMemoryStream & TidTCPServer


1-1084560173
Федя Мегатронов
2004-05-14 22:42
2004.05.30
Код исключения EidSockerError ???