私は、多層クライアント/サーバーアプリケーションの.NET 2.0変換に取り組んでいます。当面は、サーバー側を.NETに変換しますが、クライアントアプリケーションはCOMに残しています(VB6)。私の現在の作業は、分離されたCOMベースのクライアントとの間でデータをやりとりすることに焦点を当てています。
開発中の現在のバージョンは、XMLとして永続化されてクライアントに送信されるADO(COM)レコードセットを使用しています。クライアントは、データを読み書きするためにXMLをレコードセットオブジェクトにロードします。データは、同じ形式でサーバーに送り返されます。
更新用に永続化されたXMLレコードセットを受け取ると、ADO.NETを介してプッシュされたUPDATE文を生成するために、むしろクルージング解析を行い、それに応じてソースデータベースを更新します。 (非常に粗い)擬似コードでADO.NETで更新用の永続化されたXML ADOレコードセットを使用する方法
:
adodb.recordset oRS = load(ADOXML)
for each rec in oRS
{
string sSQL = "Update table set value = " + rec.ValueField + " where key = " + rec.KeyField
executeNonQuery(sSQL)
}
*免責事項:実際のロジックは、この粗ほど遠いではないが、最終結果は同じです。
誰もが戻ってデータベースに更新されたデータを取得するためのよりよい解決策を持っている場合、私は思ったんだけど...?
おかげで、
ダン