DataTableで使用する列(Columnsプロパティ)の操作を説明します。
列(フィールド)の追加および主キーの設定をする
1 2 3 4 5 6 7 8 9 10 11 |
Dim tbl As DataTable = New DataTable("Table1") Dim PrimaryColumn As DataColumn PrimaryColumn = tbl.Columns.Add("ID", Type.GetType("System.Int32")) tbl.Columns.Add("Item1", Type.GetType("System.String")) tbl.Columns.Add("Item2", Type.GetType("System.String")) tbl.Columns.Add("Item3", Type.GetType("System.Double")) 'フィールドに主キーを設定(IDを主キーにします) tbl.PrimaryKey = New DataColumn() {PrimaryColumn} |
フィールド名の存在チェックおよびフィールド名の削除をする
フィールド名が主キーに設定されている時は、削除することはできません。
1 2 3 4 5 6 7 8 9 10 11 |
Dim ItemName = "Item1" Dim columns As DataColumnCollection = tbl.Columns 'フィールドの存在チェック If columns.Contains(ItemName) Then '削除できるかチェック If columns.CanRemove(columns(ItemName)) Then 'フィールド削除 columns.Remove(ItemName) End If End If |
フィールド数を取得する
1 |
MessageBox.Show(Tbl.Columns.Count) |
フィールドでループ
1 2 3 4 5 |
Dim s As String = "" For Each Col As DataColumn In tbl.Columns s &= Col.ColumnName & System.Environment.NewLine Next MessageBox.Show(s) |
主キーの大文字と小文字を区別する
主キーが文字列の場合、主キーの大文字と小文字を区別する場合はCaseSensitiveをTrueに設定します。
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 |
Dim tbl As DataTable = New DataTable("Table1") Dim PrimaryColumn As DataColumn Dim row As DataRow PrimaryColumn = tbl.Columns.Add("ID", Type.GetType("System.String")) tbl.Columns.Add("Item1", Type.GetType("System.String")) tbl.Columns.Add("Item2", Type.GetType("System.String")) tbl.PrimaryKey = New DataColumn() {PrimaryColumn} '主キーの大文字小文字を区別する tbl.CaseSensitive = True '1列目 row = tbl.NewRow row("ID") = "AAA1" row("Item1") = "A1" row("Item2") = "A2" tbl.Rows.Add(row) '2列目 row = tbl.NewRow row("ID") = "aaa1" row("Item1") = "B1" row("Item2") = "B2" tbl.Rows.Add(row) |
上のコードでCaseSensitiveがFalseの場合2列目の追加でエラーになります。