- - PR -
ConstraintExceptionについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-01 09:37
現在.NETにてWEBシステムの開発を行っております。
一覧表示時にDataGridを使用しているのですが、Fillを行うと以下のような エラーが発生しています。(毎回同じSQLで発生) 「ConstraintException 制約を有効にできませんでした。1 つ以上の行に、Null か、一意でないか、または外部キー制約違反の値が含まれています。」が発生しています。 ここでの"strSql"は複数テーブルをJOINしてあるSELECT文です。また、"strSchema"はxsdファイルで作成したものです。 Try Dim cn As OdbcConnection = ・・・コネクション Dim adp As OdbcDataAdapter = New OdbcDataAdapter(strSql, cn) iCnt = adp.Fill(oDataSet, strSchema) Catch ex As Exception 'DBの接続&取り出しエラー 'エラーログ出力 Return -1 End Try テーブルのデータに関しましては、問題ありません。 原因がわかる方がいらっしゃいましたらご教授願います。 DB:SQLServer 2000 | ||||||||
|
投稿日時: 2006-02-01 09:42
うーん。
どうやって結合条件を書いているかにも因りますが、 おそらくは一意制約違反にヒットしていると思われます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-01 10:14
じゃんぬねっとさんありがとうございます。
当SQLを単発で実行(.NETのサーバエクスプローラにて)すると問題ないのですが・・・ SQLが問題なのでしょうか、SELECT文で一意制約違反はありえるのでしょうか? 申し訳ありませんがお願い致します。 | ||||||||
|
投稿日時: 2006-02-01 10:23
SQL コマンドとしての誤りがないだけでしょう。
SQL コマンドも、oDataSet の厳密な型も、oDataSet に対応するスキーマも判らないので何とも言えません。 とりあえず、そのコマンドで取得できるデータを見てください。 .xsd があるのであれば、minOccurs 属性のない列で null 違反が起きている可能性があります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-01 10:46
じゃんぬねっとさんありがとうございます。
SQLにて取得されるデータにnullは存在します。 minOccurs、mixOccurs属性の説明がプロパティーに記載されているのですが よくわかりません。具体的に何を設定すればよいのでしょうか? | ||||||||
|
投稿日時: 2006-02-01 11:54
いや、あの、その、そもそも .xsd ファイルは存在しているんですか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-01 16:12
ありがとうございます。
.xsd ファイル存在しています。 DatasetのEnforceConstraintsのプロパティーをFALSEにすることで 解決致しました。 ありがとうございました。 |
1