今回のテーマ
こんにちは、サルモリです。
今回のテーマは下記について書いていきます。
見出し(全角15文字)
DataTable型の基本的な使い方について学びましょう。
比較的古いプログラムではよく使われているDataTable型について学んでいきましょう。
私もDataTable型について凄く詳しいわけでないので、便利なメソッドなどがあれば、
取り上げてどんどん記事にしていきます。それでは、一緒に頑張っていきましょう!!
テーブルを定義する
まずはテーブルを定義する方法です。
テーブルの定義には、DataTable型のインスタンスを生成するときに引数にテーブル名を指定するだけです。
ソースコードをみてみましょう。今回は「Robot」テーブルを作成してみました。
1 2 3 4 5 6 7 8 9 10 11 |
using System; using System.Data; class Program { static void Main(string[] args) { DataTable dt = new DataTable("Robot"); Console.WriteLine(dt.TableName); } } |
出力結果
Robot
テーブルを作成し、テーブル名を出力するソースコードです。テーブルを作成するのは、簡単ですね!!
テーブルに列を追加する
続けてテーブルに列を追加していきます。
今回の例では、名前、メーカー、色の列を追加してみます。
追加の仕方はテーブルのColumnsのAddメソッドの引数に追加したい名前を指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System; using System.Data; class Program { static void Main(string[] args) { DataTable dt = new DataTable("Robot"); dt.Columns.Add("Name"); dt.Columns.Add("Maker"); dt.Columns.Add("Color"); foreach(DataColumn robot in dt.Columns) { Console.WriteLine(robot); } } } |
出力結果
Name
Maker
Color
正しく列名が出力されましたね。
※foreach内の変数をvarで指定すると上手く出力できないので、注意してください。
各列に行を追加する
次に先ほど作成した各列に要素を追加していきましょう。
下記の手順で追加します。
step
1DataRowを定義しテーブルのNewRowを設定する。
step
2各列に値を設定する。
step
3RowsのAddメソッドでDataRowを引数に指定する。
下記に行を追加したソースコード例を示します。ロックマンとロールちゃんとファイヤーマンを追加しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using System; using System.Data; class Program { static void Main(string[] args) { DataTable dt = new DataTable("Robot"); dt.Columns.Add("Name"); dt.Columns.Add("Maker"); dt.Columns.Add("Color"); DataRow dr = dt.NewRow(); dr["Name"] = "Rockman"; dr["Maker"] = "Dr_Light"; dr["Color"] = "Blue"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Name"] = "Rollchan"; dr["Maker"] = "Dr_Light"; dr["Color"] = "Pink"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Name"] = "Fireman"; dr["Maker"] = "Dr_Wily"; dr["Color"] = "Red"; dt.Rows.Add(dr); foreach (DataRow robot in dt.Rows) { Console.WriteLine(robot["Name"] + ":" + robot["Maker"] + ":" + robot["Color"]); } } } |
出力結果
Rockman:Dr_Light:Blue
Rollchan:Dr_Light:Pink
Fireman:Dr_Wily:Red
問題なく行を追加できましたね。
追加した要素の参照方法
今回の記事では、DataTable型の要素の参照方法まで取り上げます。
先ほどの行の列の追加で示したように、配列で列名を追加してあげることで参照できます。
また、下記のように配列の列番を指定して参照することも可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using System; using System.Data; class Program { static void Main(string[] args) { DataTable dt = new DataTable("Robot"); dt.Columns.Add("Name"); dt.Columns.Add("Maker"); dt.Columns.Add("Color"); DataRow dr = dt.NewRow(); dr["Name"] = "Rockman"; dr["Maker"] = "Dr_Light"; dr["Color"] = "Blue"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Name"] = "Rollchan"; dr["Maker"] = "Dr_Light"; dr["Color"] = "Pink"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Name"] = "Fireman"; dr["Maker"] = "Dr_Wily"; dr["Color"] = "Red"; dt.Rows.Add(dr); for(int i = 0;i < dt.Rows.Count; i++) { Console.WriteLine(dt.Rows[i][0]); } } } |
出力結果
Rockman
Rollchan
Fireman
昔のシステムでは、このように参照していることが多いんですよね。。。
配列の数では何を指定しているか分かりにくいので、あまりお勧めしません。(正直、for文もあまり使いたくない。。。)
本ブログのソースコードの例では、できる限りforeach文で出力する方法を使っていきます!!
まとめ
今回の記事はここまでとします。今回はDataTable型の基本的な使い方を学びました。
DataTable型を使用されているプログラムは多いと思うので、
これからもDataTable型の便利なメソッドや使い方などのブログをどんどん上げていきます。
リストや配列などの記事は下記にまとめてあるので是非みてくださいね。
配列、リストなどの記事はこちら
最後まで見て頂きありがとうございました。