Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Чё-то заклинило / 4 сообщений из 4, страница 1 из 1
10.12.2003, 18:01
    #32349688
nomorenames
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чё-то заклинило
Была таблица1 в MSSQL Server. Из нее получен с помощью ADOQuery датасет, потом он сохранен в файл
Код: plaintext
1.
  ADOQuery1.SaveToFile('test.xml',pfXML);


Теперь нужно вытащить этот датасет из файла и подгрузить его в другую таблицу - таблица2. Чувствую, здесь грабли...
1. Если в таблице2 уже есть записи с таким же ключом, то записи надо обновить
2. Если в таблице2 нет таких записей, то надо добавить.
Как сделать?
Мысль остановилась только на том, что бы взять датасет из файла и в цикле прогнать по записям, а дальше строить SQL скрипт для обновления/добавления в зависимости от ситуации.
Так, или не так, вот в чем вопрос.
Можно конечно, опять же в цикле, сбросить загруженный рекордсет во временную таблицу тупым инсертом, а потом обработать процедуркой, но нафига тогда нужен LoadFromFile, тем более в ADOQuery ???
...
Рейтинг: 0 / 0
10.12.2003, 18:38
    #32349759
Cooper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чё-то заклинило
авторМысль остановилась только на том, что бы взять датасет из файла и в цикле прогнать по записям, а дальше строить SQL скрипт для обновления/добавления в зависимости от ситуации.

Можно и так. Только лучше сразу написать нужные скрипты(/процедуры) и взависимости от того, что нужно сделать с записью - вызывать соответствующий скрипт(/процедуру).

===============================
Q per
...
Рейтинг: 0 / 0
11.12.2003, 15:00
    #32350811
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чё-то заклинило
автор1. Если в таблице2 уже есть записи с таким же ключом, то записи надо обновить
2. Если в таблице2 нет таких записей, то надо добавить.
Как сделать?

А зачем все это на клиенте делать? Всмысле, зачем в файл записывать?
...
Рейтинг: 0 / 0
11.12.2003, 17:39
    #32351046
nomorenames
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чё-то заклинило
Это все про синхронизацию по почте.
Идея такая:
Клиент по кнопочке, или по времени на удаленном сервере селектом вытаскивает то, что необходимо синхронизировать. Пишет в файл с помощью ADOЧто-то.SaveToFile(file.xml). Этот файл шлем по почте на центральный сервер, а там обрабатываем опять из клиента.
В файле хочу передавать просто набор SQL команд, типа insert что-то или update... Как клиент примет, так и обработает.
Наверное еще проще кидать ВСЕ во временную таблицу, и уже на сервере обработать с помощью процедур.
Накидал даже компоненту, типа дамп рекордсета. Могу выложить, если интересно.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Чё-то заклинило / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]