none
SqlCommand.UpdatedRowSource プロパティ RRS feed

  • 質問

  • SqlDataAdapterを使用して、DBにレコードを追加する処理を行っています。

    正しく処理は実行され、DataTableに追加した行がデータソースへ追加されています。

     

    SqlDataAdapterのUpdateメソッドは、処理した行数を戻しますが、それに加え今回、コマンドの結果を取得する必要があります。

    SqlCommandのUpdatedRowSource というプロパティが、その情報を取得するための設定値のようですが、あまりサンプルに

    ヒットせず、使い方がわかりません。

    InnsertCommand.CommandTextでは、データベースの日付列にT-SQLのGETDATE()関数を記述していますので、実際に

    コマンドを実行した結果、何時何府何秒として登録されたかを知りたいという状況です。

     

    この処理を実行するメソッドのパラメータとしてDataSetを渡していますが、そのDataSetのDataTableのDataRowの値が、このプロパティを

    使用することで、Update後にはコマンドの結果に書き換えられているということではないのでしょうか?

    そもそも、この認識が間違っているのでしょうか。

     

    よろしくお願いします。

    2011年6月20日 10:27

回答

  • 表題のプロパティの話ではないのですが、DataSet を使って DB にレコードを挿入した際に IDENTITY 列の値を取得する方法の解説があります。

    [C#-ADO.NET] DataSet で IDENTITY 列を持ったテーブルに行を挿入した時の IDENTITY 列の値の取得
    http://code.msdn.microsoft.com/DataAccess-howto-55fab6e5/

    今回のケースだと日付列ですので上記 URL の記事とは少し異なるとは思いますが、注目すべきは最終的に生成されている INSERT 文のところです。
    INSERT を発行して直後に SELECT で実際に DB に登録された値を DataSet に取得しています。
    要は、同じようなことをやればいいのではないかと。

    • 回答としてマーク 山本春海 2011年7月4日 6:27
    2011年6月20日 10:45
  • 以下のページの一番最後が参考になると思います。

    A Practical Comparison of ADO and ADO.NET
    http://www.devguru.com/features/tutorials/AdoNet/AdoNet5.html

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 山本春海 2011年7月4日 6:27
    2011年6月20日 11:39
    モデレータ

すべての返信

  • 表題のプロパティの話ではないのですが、DataSet を使って DB にレコードを挿入した際に IDENTITY 列の値を取得する方法の解説があります。

    [C#-ADO.NET] DataSet で IDENTITY 列を持ったテーブルに行を挿入した時の IDENTITY 列の値の取得
    http://code.msdn.microsoft.com/DataAccess-howto-55fab6e5/

    今回のケースだと日付列ですので上記 URL の記事とは少し異なるとは思いますが、注目すべきは最終的に生成されている INSERT 文のところです。
    INSERT を発行して直後に SELECT で実際に DB に登録された値を DataSet に取得しています。
    要は、同じようなことをやればいいのではないかと。

    • 回答としてマーク 山本春海 2011年7月4日 6:27
    2011年6月20日 10:45
  • 以下のページの一番最後が参考になると思います。

    A Practical Comparison of ADO and ADO.NET
    http://www.devguru.com/features/tutorials/AdoNet/AdoNet5.html

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 山本春海 2011年7月4日 6:27
    2011年6月20日 11:39
    モデレータ
  • アドバイスいただきまして、ありがとうございます。

     

    今回、ウィザード等は使用せず、すべてをコードで記述しています。

    trapemiya様がご紹介しているページを参考にしテストしているところです。

    望んだ結果には行き着いておりませんが、頑張ってみます。

     

    ありがとうございました。

    2011年6月21日 2:34