В настоящее время я создаю приложение Windows для портативного устройства (WM 6.0, CF 2.0, sqlce 3.5), которое извлекает данные с сервера только при подключении к док-станции (все важные данные сохраняются / изменяются на портативном устройстве, пока оно не будет возвращается и закрепляется для синхронизации с сервером). Данные похожи на то, что UPS будет делать в том смысле, что они управляют приемом и доставкой товаров из местоположения в местоположение и записывают время, когда происходят эти «транзакции».
Изначально на контроллере имеется пара исходных таблиц (pickups
и dropoffs
) и несколько таблиц проверки. Во время данного захвата или возврата я пытаюсь найти наилучший способ перемещения данных по этому многоэтапному процессу.
Для пикапа я сейчас ...
сначала выберите подмножество предметов из пикапа на основе общей характеристики, скажем, пакет имеет цвет "синий". Поэтому я выбираю все «синие» пакеты и вставляю их в таблицу temppickups
.
тогда пользователь должен определить все синие посылки, которые нужно забрать (элементы в temppickups
), какие из них нужно забрать в том месте, где он находится, поэтому он выбирает «место сбора» "и все соответствующие элементы в temppickups
вставляются в tempsitepickups
.
Затем пользователь выбирает из списка все элементы, которые он хочет забрать (из tempsitepickups
), и запускает отчет для подтверждения полноты.
- Затем он подтверждает, что это те, которые он хочет, и предметы являются
n перенесено в отдельную таблицу (
pickedUpItems
, с добавленными столбцами для записи времени доставки и прочего), чтобы упростить обновление сервера (вместо необходимости создавать оператор выбора из исходных таблиц для поиска обновленных записей)
Теперь я мог бы иметь в исходной таблице дополнительные столбцы, заполненные NULL, пока не будет вставлено время доставки, а затем использовать IS NOT NULL в качестве ограничителя при синхронизации только обновленных записей. Тем не менее, моя тенденция такова, что когда данные изменяются из родительской таблицы, они помещаются в новую таблицу (это происходит только 3 раза = 3 новые таблицы) до тех пор, пока не достигнут таблицы назначения (когда все новые таблицы между оригинал и пункт назначения освобождаются для следующего получения или возврата.
Является ли это лучшим способом для отслеживания такого рода данных, когда им манипулируют в приложении? Ваши мысли будут полезны. Спасибо!
* И дайте мне знать, если вы хотели бы получить разъяснения по некоторым аспектам этой гипотетики.