2012-04-09 11 views
0

これは間違った質問かもしれません。しかし、ADO.netはSQLコマンドを書かなくてもデータベースへの更新をサポートしていますか?SQLを使用しないADO.netの更新?

例: データベースから読み込んで行をメモリに保持する方法があります。私はいくつかの行を変更します。それで、ADO.netが更新SQL文を書く必要なく、ADO.netにデータベースの最新の変更を更新させることができますか?

私はこれをもっと後の時点で更新したいと思うかもしれないので、これを頼んでいます。私はただリストにSQLステートメントを格納することができますが、私は長い時間がかかります1つの大きなものの代わりに多くの更新を行うだろう。

答えて

2

ORMのようなものがありますが、ADOはORMではありません。そう、いいえ。 SQLを記述する必要があります。あなたは多分、ストアドプロシージャを書くことによってものを単純化することができます。次に、ADOパラメータを使用できます。

必要に応じて、変更を実際に永続化する必要があるまで、メモリ内のオブジェクトとして保存できます。次に、オブジェクトを取得してSQLを書き込むマッパーを持つことができます。しかし、ORMで既に行われている作業の一部をやり直しています

1

データを取得するために使用したSQLと同様に、データを入れるにはsqlが必要です。更新する列を更新する必要もあります。私はそれが自動的にできるとは思わない。または、Entity Frameworkを使用します。おそらく、オブジェクトを更新(ID)として保存することは、即座に移動または更新する方法です。

1

ADO.NETを使用すると、以下の操作を行うことができDataAdaptersとデータセットをサポートしています。

  1. は、データセット内のデータを操作します。
  2. DataAdapterの更新メソッドにパラメータとしてDataSetを渡すことで、データベースへの変更をプッシュします。

DataAdapterに変更をプッシュするには、insert、update、およびdeleteコマンドを指定する必要があります。コマンド設定で sqlを指定する必要がありますが、変更を手動で追跡するのではなく、操作する各行を更新するsqlステートメントのテンプレートのようなものです。

コマンドを設定したら、DataSetをパラメータとして使用してUPDATEメソッドを使用し、コマンドに基づいて変更を保持します。個々のSQLの変更を追跡する必要はありません。

  1. 設定コマンドのサンプルはhereです。
  2. 更新プログラムを呼び出すサンプルはhereです。
+0

これはわかりにくいです。私の方法がちょうど更新を行うつもりなら、どうして私はselect、insert、およびdeleteコマンドを書く必要があるのですか?それらのいずれかをいつでも使用できますか?あなたがしたいことが更新されているときにdeleteステートメントを書くのは奇妙なものです。また、これにパフォーマンス上の欠点がありますか? –

関連する問題