2

C# と OleDb を使用して Oracle データベースにアクセスしています。クエリからデータを正常に取得しましたが、を使用してデータベースを更新できませんOleDbAdapter.Update()。私の更新コードは以下のとおりです。(「Adapter」はOleDbAdapter、データベースからデータを正常に引き出すために使用されるオブジェクトへの参照です。)

OleDbCommandBuilder builder = new OleDbCommandBuilder(Adapter);
Adapter.UpdateCommand = builder.GetUpdateCommand();
Adapter.UpdateCommand.Prepare();
Adapter.Update(ds);
ds.AcceptChanges();

現在、「コマンドが準備されていません」というメッセージが表示されます。上記のコードの最初の行のエラー。任意の提案と私は非常に感謝しています.

(編集: ds は DataSet です)

4

1 に答える 1

2

ストアド プロシージャをクエリするため、バージョンが機能していません。

考えてみると、機能するには、キーなどのすべての情報が必要です。ストアド プロシージャでテーブルを結合し、重要な主キーのない行のサブセットのみを選択するとどうなるでしょうか?

そのような場合、ストアド プロシージャを作成/取得するか、自分でクエリを実行してアダプターに渡す必要があります。

于 2011-09-01T08:24:05.383 に答える