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

Вниз

ClientDataSet - Вставка порции данных   Найти похожие ветки 

 
alex123   (2004-04-15 13:04) [0]

Добрый день Мастера!
С одного из филиалов (нет связи) приносят таблицу с новыми документами. Она копируется в каталог IN лежащий рядом.
Один бухгалтер рещает их подлить в основную таблицу.
Используются файл-сервер ClientDataSet1 -> DataSetProvider1 -> ADSQuery1 (Advantage TDataSet 6.2).
Как лучше поступить?
1) Цикл по табличке, сравнение и вставка или правка в зависимости от того есть ли такая запись.
2) А нельзя ли так. Скажем в ClientDataSet1.Delta забрасываю данные из пришедшей таблички (как это лучше сделать?) и применить ClientDataSet1.ApplyUpdates()?
Но записи с совпадающими ключами я понимаю будут вообще проброшены а нужно сравнить измения и исправить данные в основной таблице если есть отличия.
Можно ли так или я выдумываю черт знает что на свою голову?
Спасибо.


 
alex123   (2004-04-15 13:04) [0]

Добрый день Мастера!
С одного из филиалов (нет связи) приносят таблицу с новыми документами. Она копируется в каталог IN лежащий рядом.
Один бухгалтер рещает их подлить в основную таблицу.
Используются файл-сервер ClientDataSet1 -> DataSetProvider1 -> ADSQuery1 (Advantage TDataSet 6.2).
Как лучше поступить?
1) Цикл по табличке, сравнение и вставка или правка в зависимости от того есть ли такая запись.
2) А нельзя ли так. Скажем в ClientDataSet1.Delta забрасываю данные из пришедшей таблички (как это лучше сделать?) и применить ClientDataSet1.ApplyUpdates()?
Но записи с совпадающими ключами я понимаю будут вообще проброшены а нужно сравнить измения и исправить данные в основной таблице если есть отличия.
Можно ли так или я выдумываю черт знает что на свою голову?
Спасибо.


 
serge35   (2004-04-15 13:26) [1]

Связь с удаленными базами - это всегда головная боль.
Открываешь новую таблицу, запускаешь по ней цикл, перед добавлением записи ищешь запись в основной базе, если такая есть, то переходишь на следующую запись.Если записи нет, то добавляешь ее в базу.
А что делать с одинаковыми записями - это надо решать с бухгалтером.


 
serge35   (2004-04-15 13:26) [1]

Связь с удаленными базами - это всегда головная боль.
Открываешь новую таблицу, запускаешь по ней цикл, перед добавлением записи ищешь запись в основной базе, если такая есть, то переходишь на следующую запись.Если записи нет, то добавляешь ее в базу.
А что делать с одинаковыми записями - это надо решать с бухгалтером.


 
alex123   (2004-04-15 13:40) [2]

А где лучше производить обновление, подливать в клиент ClientDataSet и затем ApplyUpdates или же лучще на сервере сразу в основную таблицу а затем на клиенте ClientDataSet.Refresh?


 
alex123   (2004-04-15 13:40) [2]

А где лучше производить обновление, подливать в клиент ClientDataSet и затем ApplyUpdates или же лучще на сервере сразу в основную таблицу а затем на клиенте ClientDataSet.Refresh?


 
serge35   (2004-04-15 14:10) [3]

Если надо добавлять записи в таблицу, то лучше всего использовать append -- post для основной таблицы.


 
serge35   (2004-04-15 14:10) [3]

Если надо добавлять записи в таблицу, то лучше всего использовать append -- post для основной таблицы.


 
Polevi ©   (2004-04-15 14:33) [4]

cdsMain.AppendData(cdsAdd.Data,false)


 
Polevi ©   (2004-04-15 14:33) [4]

cdsMain.AppendData(cdsAdd.Data,false)



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

Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.032 c
9-1069968702
Fuinadan
2003-11-28 00:31
2004.05.09
Игра "Гонки" в исходниках.


14-1081925575
Мараканец
2004-04-14 10:52
2004.05.09
Блокировка данных....


1-1082634117
k@rt
2004-04-22 15:41
2004.05.09
Окно в потоке


3-1081848071
Назаров Евгений
2004-04-13 13:21
2004.05.09
Процедура в InterBase


14-1081776534
Nick-From
2004-04-12 17:28
2004.05.09
Что можно реально делать с Bluetooth и Wi-Fi в КПК?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский