1

DataAbstract と RemObjects を使用して構築されたクライアント/サーバー アプリケーションがあり、クライアントはサーバーが DB に配置するバイナリ変数を転送しています。サーバー機能はこんな感じ

function SetItemContent(const anItemId: UnicodeString; const anItemContent: Binary): Boolean;

しかし、サーバーからテーブルにアクセスして、そのバイナリ変数をブロブに保存する方法はわかりません。DAのドキュメントにも参照が見つかりません。

4

1 に答える 1

2

サービス実装モジュールで TDALocalDataAdapter を使用し、TDAMemDataTable を接続できます。その後、Dynamic Where (またはパラメータ化された DataTable) を使用して、通常の TDataset 手法を使用してレコードを検索および更新できます。(つまり、挿入、編集、投稿)

更新はすべてトランザクションで囲む必要があります。Connection.BeginTransaction、RollbackTransaction、および CommitTransaction を使用します。

編集 ====

IDASQLCommand を使用することもできます: Connection.NewCommand メソッドを使用します。これに SQL をパラメーターとして直接指定するか、(より良い IMHO++) スキーマで作成したパラメーター化された更新/挿入 SQL コマンドの名前を指定できます。

Connection.NewDataset メソッドの IDADataset を使用して、MyDataset.IsEmpty を使用してこれを確立できるように、挿入/更新するかどうかをまだ知る必要があると思います。最初にスキーマにデータセットを作成するか、SQL を渡します。

トランザクションの使用に関するポイントは、このメソッドにも当てはまります。

++ より良いのは、各データテーブルまたはコマンド オブジェクトに対して複数のステートメントを使用することで、複数の DB バックエンドをより適切にサポートできるためです。

于 2011-06-11T15:21:23.480 に答える