Главная страница
    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.045 c
1-1082465675
Tornado
2004-04-20 16:54
2004.05.09
почему не работает OEM_CHARSET в TListView ?


1-1082616656
god
2004-04-22 10:50
2004.05.09
Подскажите команды для подсчета кол-ва элементов в мессиве (D7)


14-1082201835
VMcL
2004-04-17 15:37
2004.05.09
Расшифровки ^)


14-1082121286
Домарощинер
2004-04-16 17:14
2004.05.09
Хочу написать плагин к IDE Delphi. Помогите, кто чем может.


1-1082361509
xman
2004-04-19 11:58
2004.05.09
Конвертор





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