Главная страница
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.065 c
8-1079550487
Rediska
2004-03-17 22:08
2004.05.30
Как создать *.wav файл в Delphi ?


3-1084259853
Term
2004-05-11 11:17
2004.05.30
ClientDataSet


3-1083739703
Ирина
2004-05-05 10:48
2004.05.30
Вопрос по поводу того как использовать модуль


1-1084722598
G_U_N
2004-05-16 19:49
2004.05.30
Объект


1-1084667934
IrBisoff
2004-05-16 04:38
2004.05.30
OwnerDraw TLabel