C# DataTableの特定データを更新

DataTableに取り込んだデータをなんらかしらの条件を加えて、特定データのみ更新したい場合があります。その時の方法を紹介します。

 

スポンサーリンク

 

特定データのみを更新する方法

サンプルコード

 DataTable dt = new DataTable();

// DataTableに列を追加
 dt.Columns.Add("ID" ,typeof(int));
 dt.Columns.Add("氏名", typeof(string));
 dt.Columns.Add("住所", typeof(string));

// DataRowを使ってレコード追加
 DataRow dr = dt.NewRow();
 dr["ID"] = 1;
 dr["氏名"] = "山田太郎";
 dr["住所"] = "東京都";
 dt.Rows.Add(dr);

// カラム名を指定して更新するパターン
 dt.Rows[0]["氏名"] = "山田花子";

// カラムインデックスを使ったパターン
 dt.Rows[0][1] = "山田花子";
 

カラムインデックスを使う時の注意点として、インデックス外の値を指定すると「IndexOutRangeExceptionはハンドルされませんでした。」と例外が発生してしまいます。

DataTable

試しに「dt.Rows[1][2] = “山田花子”;」と変更して実行してみてください。

Index外だよー?と怒られるはずです。

 

スポンサーリンク

SNSでもご購読できます。

コメントを残す