C#で「列 ○○ はテーブル○○に属していません」をチェック
DataTable に存在しない列を参照しようとすると残念なエラーが出ます。
そもそもちゃんと構造を把握しろという話ですが、こんな方法で事前チェックを行うことはできます。
このチェックが必要な実装というのは、よほど適当な作りか、かなりトリッキーな実装かのどちらかではないかと思います。
そもそもちゃんと構造を把握しろという話ですが、こんな方法で事前チェックを行うことはできます。
列 '' はテーブル '' に属していません。にならないためのチェック
DataRow の Contains で、その列(カラム名)名があるのかどうかをチェックします。// row は DataRow で、hoge 列が存在するかチェック。 if (row.Table.Columns.Contains("hoge")) // この書き方もできる // dt は DataTable で、hoge 列が存在するかチェック。 if (dt.Columns.Contains("hoge"))やはり DataTable の構造をちゃんと把握しましょうという気はします。
このチェックが必要な実装というのは、よほど適当な作りか、かなりトリッキーな実装かのどちらかではないかと思います。