Pages

2016/05/26

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

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

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

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

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