理解の一助|【DataTable】Selectメソッドで任意のデータを抽出する(抽出結果が0行の場合の対処法)
<実行エラー>
dt_2 = dt_1.Select(" [●●●] = '▲▲▲' ").CopyToDataTable
※Assign(代入)アクティビティで実施
上記式を実行した際、Selectの抽出結果が0行の場合、「ソースには、DataRow が含まれていません。」とエラーが表示されます。
<対処法>
上記データ抽出処理を「Try catch(トライキャッチ)」アクティビティで囲みます。
・結果が1行以上⇒ 次のアクティビティに処理が移ります。
・結果が0行 ⇒ 「Try catch」アクティビティの「catches」に処理が移ります。
◆Try部分
エラー発生は想定されるアクティビティを「Try」に入れます。
◆Catches部分
エラー発生時に行う処理を記載します。
※初心者の方は、Excepitonを「exception」で設定しておくと無難です。
※下記例では、後続処理の関係上、存在フラグ(bool_DataExists)を設定していますが、Catches部分にアクティビティが無くても動きます。
<説明>
・『DataTable.Select(条件)』の基本事項は、下記をご参照下さい。
・本エラーの発生原因(ご参考程度に…)
右辺の「dt_1.Select(" [●●●] = '▲▲▲' ")」を実行した結果が0行の場合は、「null」が返されます。そして、その「null」を「CopyToDataTable」でDataTableに変換しようとして本エラーが発生しています。