2011-08-01 13 views
1

私はsqlcommandbuilderを使用したいプロジェクトを持っています。C#SQLCommandBuilder Help

私の唯一の問題は、使い方のまともな例が見つからないか、それがなぜそのように使われているのか分かりません。

3層アーキテクチャに基づいてアプリケーションを構築しています。

たとえば、私は更新ステートメントを生成したいと言います。 commandbuilderはどこから値を取得してデータベースに更新しますか?私は現在、通常のsqlコマンドを使用しており、すべてのSQL文を手動で作成します。複数のデータベーステーブルのために面倒な傾向があり、混乱します。

これは私のソフトウェアエンジニアリング科目の最終プロジェクトです。助けが必要です。

+1

ハードコードされた更新ステートメントの代わりにストアドプロシージャを検討する必要があります:)それ以外は、http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommandbuilder.aspx – FlyingStreudel

+0

その技術を使用するには?そうでない場合は、エンティティフレームワークまたはnhibernateを調べることができます。 – alun

+0

ほとんどのコースは90年代後半になっていると思います。 TBH私はORMテクノロジの前払いコストを削減するため、直接DBアクセスの復活を見ているので、おそらくそれは再び完全なサイクルに戻ります。 – Deleted

答えて

2

私は上記のコメントのコメントを2番目に...良いORMは確かに価値があります。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommandbuilder.aspx

注:MSが実際にかなり良いが存在していることを例。

彼らは私が言っていたことをすべて言っています。

  1. 負荷まで選択コマンド
  2. commandBuilderが更新、挿入を生成し、あなたはそれ以上のものが必要な場合にのみ自動単一のテーブル
  3. ためのSQLを生成文

  4. を削除します、あなたはSQL文を手作業で生成し、CommandBuilderにロードする必要があります。

  5. コマンドビルダは、DataTableと合理的にうまく動作し、DataTableはASP.NetのDataViewにバインドできます。これとは対照的に

、などのNHibernateのように(データベースがサポートされて)良いORMは、+マルチテーブルの更新を生成するあなたのデータベースベンダーの独立性の度合いを与えることができます。

選択のあなたのORMによってサポートされていないデータベースを使用しているときにMSの認定試験に出てくる質問、またはおそらくに答えることができるようにそれが学ぶための良い理由...または多分あなただけの何かを取得したいです迅速かつ迅速に実行できます。