トップ回答者
SqlCommand.UpdatedRowSource プロパティ

質問
-
SqlDataAdapterを使用して、DBにレコードを追加する処理を行っています。
正しく処理は実行され、DataTableに追加した行がデータソースへ追加されています。
SqlDataAdapterのUpdateメソッドは、処理した行数を戻しますが、それに加え今回、コマンドの結果を取得する必要があります。
SqlCommandのUpdatedRowSource というプロパティが、その情報を取得するための設定値のようですが、あまりサンプルに
ヒットせず、使い方がわかりません。
InnsertCommand.CommandTextでは、データベースの日付列にT-SQLのGETDATE()関数を記述していますので、実際に
コマンドを実行した結果、何時何府何秒として登録されたかを知りたいという状況です。
この処理を実行するメソッドのパラメータとしてDataSetを渡していますが、そのDataSetのDataTableのDataRowの値が、このプロパティを
使用することで、Update後にはコマンドの結果に書き換えられているということではないのでしょうか?
そもそも、この認識が間違っているのでしょうか。
よろしくお願いします。
回答
-
表題のプロパティの話ではないのですが、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
すべての返信
-
表題のプロパティの話ではないのですが、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