Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

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

 
Комар   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
1-1127825416
jobster
2005-09-27 16:50
2005.10.16
Розыскивается Delphi-программист


1-1127725727
Alex.Ru
2005-09-26 13:08
2005.10.16
Странный глюк в проекте CLX


14-1127455888
Hellion
2005-09-23 10:11
2005.10.16
Delphi 2005


14-1127394433
Narik
2005-09-22 17:07
2005.10.16
дата время и тд из FileListBox и DirectoryListBox


4-1124146408
alex-drob
2005-08-16 02:53
2005.10.16
Изменить рабочую область