misc.log

日常茶飯事とお仕事と

DataTable.Mergeでエラーが出る

CSVで一覧表を出力するASP.NETのアプリで、ちょっと見出しの名前を変えたらエラーが出てしまってしばらく悩みました。

制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、
あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。

キーワードで検索するといくつか該当パターンがヒットするのですが、こちらは以下の原因でした。

  • 2つの検索結果をDataTable.Mergeで連結している
  • 片方のSelect文の列名(As なんとか)を変えてしまった

列名まで一緒じゃないとNGなんですね。


ちなみにほかのケースについては以下のブログで。

制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。/Remember The Time
http://www.remember-the-time.xyz/2015/04/null-1.html
制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。/dechnostick's blog
http://dechnostick.hatenablog.com/entry/2015/01/11/080000