Главная страница
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.033 c
6-1081892723
-=Rezya=-
2004-04-14 01:45
2004.05.30
Proxy


3-1083734719
Komar
2004-05-05 09:25
2004.05.30
Как работать с базами MySQL расположенные на другом компьютере?


3-1083776286
leonidus
2004-05-05 20:58
2004.05.30
Как обратиться к dBase-файлу базы данных если он на другом компе?


1-1084662075
Shade_
2004-05-16 03:01
2004.05.30
Хранение дерева данных


6-1081634875
OrbitAl
2004-04-11 02:07
2004.05.30
Простенький LAN-чат