0

DataSnap クライアント アプリが DataSnap サーバーのリモート データ モジュールに接続してTDataSetProvider+を使用するTClientDataSetと、クライアント アプリのローカルに db テーブル (またはビュー) がキャッシュされます。ユーザーは、TClientDataSet 内のデータをローカルでApplyUpdates(0)変更し、その変更をサーバーと同期できます。これはすべて理にかなっています。

SQL Server 2008 データベースを使用すると、主キーはフィールドidentityまたはGUIDフィールドのいずれかになります。local に新しいレコードを追加している間、ユーザーがオフラインになると仮定すると、ユーザーが新しいレコードを作成するときに、 localおよびは主キー フィールドの割り当てをTClientDataSetどのように処理するのでしょうか? ローカルで作成されたレコードはマスター/詳細関係の一部である可能性があるため、新しい主キーをローカルで作成する必要があるのは当然のことです。ユーザーが「ApplyUpdates(0)」を実行すると、どのように解決されますか?TDataSetProviderTClientDataSet

複数のユーザーがオフラインモードでレコードを作成する場合、それぞれがApplyUpdates(0)?

フィールドはidentityフィールドよりも優れていGUIDますか、それともその逆ですか? なんで?

4

1 に答える 1

0

これが最も近い答えかもしれません:

DataSnap で AutoInc フィールドを使用する方法

誰かがより良い提案をしていますか?

于 2011-11-28T22:21:05.537 に答える