Форум: "Базы";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизКак можно отправлять на сервер только измененные данные Найти похожие ветки
← →
Комар (2005-09-05 09:56) [0]Здравствуйте мастера
Сделал программу обычная программа работающая с базами ДБФ, так вот клиент изменил задачку и сказал чтоб программа время от врмени посылала данные на сервер MySQL, как подключатся к серверу я понял
Теперь вопрос: Как можно отправлять на сервер только те данные которые добавлены или изменены с последней отправки на сервер, чтоб каждый раз не посылать все данные с таблиц
Заранее благодарен за советы
← →
Desdechado © (2005-09-05 10:02) [1]ничего не понял
ты хочешь вести синхронно 2 БД на разных СУБД? извращенец, в натуре
← →
Sergey13 © (2005-09-05 10:23) [2]>Теперь вопрос: Как можно отправлять на сервер только те данные которые добавлены или изменены с последней отправки на сервер, чтоб каждый раз не посылать все данные с таблиц
Наверное надо добавить соответствующие поля в исходные таблицы, в которых хранить признак отправленности.
← →
Anatoly Podgoretsky © (2005-09-05 10:27) [3]Для этого в MSSQL существует TIMESTAMP в дополнение нужен еще триггер на удалелеие.
← →
Комар (2005-09-06 14:14) [4]Вот начал делать так как было сказано Сергеем, поставил еще одно поле с для признаков (новая запись - 1, измененная - 2, удаленная - 3) обычной БДЕ - шной таблицой нельзя сделать так чтоб при удалении запись оставалась но стала бы как бы невидимой
Сделал с Query select * from nnn.dbf where ee<=2
Но при попытке что либо изменить или добавить запись начала выскакивать ошибка "Cannot modify a read-only dataset" (помоему так было). Искал в форумах написано надо изменить Requestlive на True. Вроде бы записи добавляются, изменяются.
Поставил кнопку "Удалить" и написал в коде query1.FieldByName("ee").Value:="3"; Опять ошибка Dataset not edit or insert mode
Что делать?
← →
Sergey13 © (2005-09-06 14:31) [5]2[4] Комар (06.09.05 14:14)
>Вот начал делать так как было сказано Сергеем, поставил еще одно поле с для признаков (новая запись - 1, измененная - 2, удаленная - 3)
Я тебе так не советовал. 8-)
Нафига тебе удаленные? Какая разница новая или изменная. Для того, что ты описал в топике достаточно логического (или аналога, или дату можно писать) поля "отправлено" - Да/Нет. При вводе/редактировании - значение поля должно устанавливаться в НЕТ. При отправке - соответственно в Да.
От проблемы с read-only dataset спасает TUpdateSQL.
← →
Nikolay M. © (2005-09-06 14:43) [6]Изучить связку TClientDataSet + TDataSetProvider. Редактируешь отвязный набор данных на клиенте, потом пачкой отслыаешь только то, что было изменено. В CDS это реализовано почти прозрачно для тебя и по-умному: если, например, была добавлена новая запись и сразу же удалена, то при постинге данных на сервер ничего не уйдет (экономия трафика - заказчику потом можно пальцы гнуть :) ).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c