Я работаю над преобразованием .NET 2.0 многоуровневого клиент-серверного приложения. В настоящее время мы конвертируем серверную часть в .NET, но оставляем клиентские приложения в COM (VB6). Моя текущая работа сосредоточена на получении данных от / на отсоединенных клиентах на основе COM.
Текущая разрабатываемая версия использует наборы записей ADO (COM), сохраненные в виде XML и отправленные клиентам. Затем клиенты загружают XML в объект набора записей для доступа к данным для чтения / записи. Данные отправляются обратно на сервер в том же формате.
Получив постоянный набор записей XML для обновления, мы проводим довольно неаккуратный анализ для создания операторов UPDATE, которые проталкиваются через ADO.NET для соответствующего обновления исходной базы данных.
В (очень грубый) псевдокод:
adodb.recordset oRS = load(ADOXML)
for each rec in oRS
{
string sSQL = "Update table set value = " + rec.ValueField + " where key = " + rec.KeyField
executeNonQuery(sSQL)
}
* ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Фактическая логика далеко не такая грубая, но конечный результат тот же.
Мне интересно, есть ли у кого-нибудь лучшее решение, чтобы вернуть обновленные данные в базу данных ...?
Спасибо
Dan