テーブルやビューと同様に、ストアド プロシージャにデータ バインディングを行うことはできますか? (つまり、選択、更新、削除、挿入を含む)
選択のために、私は現在 ExecuteReader() でプロシージャを実行しており、それを DataTable に読み込んでから、テーブルをグリッドにバインドしています。しかし今、変更をデータテーブルからデータベースに書き戻すにはどうすればよいでしょうか? .NET フレームワークに「単純な」組み込みメソッドはありますか?
テーブルやビューと同様に、ストアド プロシージャにデータ バインディングを行うことはできますか? (つまり、選択、更新、削除、挿入を含む)
選択のために、私は現在 ExecuteReader() でプロシージャを実行しており、それを DataTable に読み込んでから、テーブルをグリッドにバインドしています。しかし今、変更をデータテーブルからデータベースに書き戻すにはどうすればよいでしょうか? .NET フレームワークに「単純な」組み込みメソッドはありますか?
いいえ、できません。ストアド プロシージャは、T-SQL コードで可能な方法で返された結果を生成する可能性があり、データの読み取りに使用されたのと同じプロシージャを呼び出して更新を作成することはできません。
データ アクセスを操作するより最新の方法は、エンティティ フレームワークなどの OR-Mapper を使用することです。アプリケーションのタイプによっては (データがクライアントに送信され、ポストバックされて新しいオブジェクトとして解釈される Web アプリケーションは通常、少し難しい)、単純なデータ バインディングを実行して、変更を DB に保存することができる場合があります。 .
ストアド プロシージャでは不可能ですが、似たようなことが実現できます。SqlCommandBuilder
これを行う方法を説明する完全なサンプルを次に示しますhttp://support.microsoft.com/kb/307587