しまもん 

モンスターラボ島根開発拠点のブログ

【VB.NET】DataTable の基礎

てりー ・2020-09-24

トビウオは捕れるけどサンマは捕れない松江からこんにちは。

こちらは逆引きではなく順方向での理解が必要な VB.NET 要素について紹介する記事シリーズです。

今回は一般的な DataTable の用法を示します。文中の dt は DataTable 型変数とします。

  • DataTable は列指向です
  • dt.Rows でデータにアクセスできます
  • dt.Columns で列情報にアクセスできます
  • dt.Rows.Count でデータ件数を得られます
  • dt.Columns.Count で列数を得られます
  • dt.Columns(x).DataType で列 x のデータ型が得られます
  • 1行目の1列目のデータは dt.Rows(0)(0) で得られます、ただしこのデータには有効な型情報が無い場合があり、その際は能動的に型指定が必要です
  • 型指定は CType(dt.Rows(0)(0), String) のように記述し、これで1行目1列目のデータを String 型と見做して取得できます
  • 型指定は、データが空の場合には失敗します
  • データが空であるかどうかは、判定用メソッドを用いて IsDBNull(dt.Rows(0)(0)) のようにして判定でき、空の場合には True になります
  • "id" という数値型のカラムが存在したとすると、dt.Select("id = 1234") で id が 1234 のデータを検索でき、結果として DataRow() 型変数が得られます(見つからなければ長さが 0 になります)
  • 検索の別法として (From row In dt.AsEnumerable() Where row("id") = 1234 Select row).ToArray() でも結果は同じで、こちらの記法の方が高速(データ件数が多い場合の処理時間が短い)と言われています
  • データに有効な型情報が無いケースでは (From row In dt.AsEnumerable() Where row.Field(Of Integer)("id") = 1234 Select row).ToArray() のように Field() を使用して型指定をします

| 採用情報

城下町・松江で一旗揚げたいRailsエンジニア絶賛募集中!

Blue