Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.045 c
4-1082444220
Сережа550
2004-04-20 10:57
2004.05.30
EnumChildWindows


1-1084681278
tamroF
2004-05-16 08:21
2004.05.30
__________опять DLL


3-1083930785
Внук
2004-05-07 15:53
2004.05.30
ODBC и хранимые функции


7-1082490727
Fobos
2004-04-20 23:52
2004.05.30
Программное обеспечение для мобилок


3-1084187095
tlan
2004-05-10 15:04
2004.05.30
OS AIX + Oracle Application Server





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский