C#で「列 ○○ はテーブル○○に属していません」をチェック

C#で「列 ○○ はテーブル○○に属していません」をチェックする方法
DataTable に存在しない列を参照しようとすると残念なエラーが出ます。
そもそもちゃんと構造を把握しろという話ですが、こんな方法で事前チェックを行うことはできます。

列 '' はテーブル '' に属していません。にならないためのチェック

DataRow の Contains で、その列(カラム名)名があるのかどうかをチェックします。
// row は DataRow で、hoge 列が存在するかチェック。
if (row.Table.Columns.Contains("hoge"))

// この書き方もできる
// dt は DataTable で、hoge 列が存在するかチェック。
if (dt.Columns.Contains("hoge"))
やはり DataTable の構造をちゃんと把握しましょうという気はします。
このチェックが必要な実装というのは、よほど適当な作りか、かなりトリッキーな実装かのどちらかではないかと思います。

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック