none
DataGridでデータベースを操作する最もスマートな方法は? RRS feed

  • 質問

  • VisualStudio2010、WPF(またはSilverlight)&C#で、データベースを操作するアプリを作りたいのですが、現在、どうするのが最もスマートでしょうか?

     

    WPFのDataGridではデータの編集が容易ですが、データベースへの反映はガリガリとコーディングしないといけないのでしょうか?

    参考: http://codezine.jp/article/detail/6005

    上記では、肝心のデータベースへの反映が書かれていません。大変だから?

     

    一方、SilverlightのDataGridでは、新規行を表示できず、データの追加は別コントロールで行うしかないのでしょうか?

    参考: http://code.msdn.microsoft.com/10-C-Silverlight-RIA-bd548bb8/

     

    以上、ご教授ください。よろしくお願いいたします。

     

     


    • 編集済み Yo48 2012年1月7日 4:11 文面修正
    2012年1月7日 4:09

回答

  • 上記では、肝心のデータベースへの反映が書かれていません。大変だから?

    TableAdapterを調べてみて下さい。画面で値を修正し、TableAdapterのUpdateメソッドを実行するだけでデータベースへ反映されます。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク Yo48 2012年1月10日 13:43
    2012年1月10日 2:42
    モデレータ

すべての返信

  • 何が出来たらスマートでしょうか?レイヤわけとか何も考えずにとりあえず動けばいいや!というのでしたらEntity Framework 4.2を入れてIDbSet<T>に定義されてるLocalプロパティのObservableCollection<T>とDataGridをバインドしてしまえば楽です。

    DbContextのSubmitChangesを呼べばDBにも結果が反映されます。


    かずき Blog:http://d.hatena.ne.jp/okazuki/ VS 2010のデザイナでBlendのBehaviorをサポートするツール公開してます。 http://vsbehaviorsupport.codeplex.com/
    2012年1月8日 12:23
  • 上記では、肝心のデータベースへの反映が書かれていません。大変だから?

    TableAdapterを調べてみて下さい。画面で値を修正し、TableAdapterのUpdateメソッドを実行するだけでデータベースへ反映されます。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク Yo48 2012年1月10日 13:43
    2012年1月10日 2:42
    モデレータ
  • trapemiyaさん、ありがとうございます。

    できました。TableAdapterのUpdateでよかったんですね。

    Silverlightの例を参考に、プロパティー画面で、SubmitChangesCommandみたいなものを設定するのかと思っていました。

     

    かずきさん、ありがとうございます。

    DbContextは初耳でした。調べてみます。

     

    2012年1月10日 13:51