Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.036 c
5-1102411092
Dyusha
2004-12-07 12:18
2005.10.16
Поиск в DbGrid


2-1126454439
Зм1й
2005-09-11 20:00
2005.10.16
Вывести собщение


9-1117530925
rsy
2005-05-31 13:15
2005.10.16
Тенис


6-1119358405
bugman
2005-06-21 16:53
2005.10.16
UDP port mapping


14-1127461258
Андрей Жук
2005-09-23 11:40
2005.10.16
По поводу замечания Анатолия Подгорецкого





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