問題タブ [constraintexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xsd - XSD データセット ConstraintException の処理
XSD データセットによってスローされた ConstraintExceptions を処理するためのヒントはありますか?
これは不可解なメッセージの例外です:
sql - SQL Server ビューから DataGridView を埋めるときの ConstraintException
2 つのテーブルの単純な結合を行い、いくつかの列を返す SQL Server ビューがあります。Management Studio でこのビューを実行しても問題は発生せず、期待されるデータ (2 行) が返されます。
このビューを Visual Studio の TableAdapter のデータ ソースとして使用すると、「制約を有効にできませんでした。1 つまたは複数の行に、null 以外、一意、または外部キーの制約に違反する値が含まれています。」という ConstraintException が発生します。
tableAdapter.Fill( dataSet.vwMyView ) を呼び出す前に EnforceConstraints = false を使用したので、この問題の原因に関する詳細情報を得ることができました。列「MyColumn」には一意でなければならないという制約がありますが、値 4 (ID) は既に存在するというメッセージが表示されました (はい、この ID を持つ行が 2 つあります)。
これは、ビューで結合する 2 つのテーブルの 1 つで一意 (および主キー) であることを理解していますが、DataGridView でエラーが発生する理由がわかりません。
- データだけを表示したい
- Management Studio のまったく同じビューで同じ選択を実行しても、エラーは発生しません。
何故ですか?ID値を表示する必要がありますが、実際にそのエラーが発生する理由もわかりません。
前もって感謝します &
よろしくお願いします
ゴルグセネッガー
c# - 行入力時の DataGridView System.Data.ConstraintException
最初のメモとして: 私は、私たちに渡された既存のアプリを調べており、バグを調べて修正しようとしています.
特定の DataGridView でエラーが発生するという問題が発生しています。IDでUnique Constraint Exceptionが発生しました。奇妙なことに、新しいアイテムをテーブルに追加してもこのエラーは表示されません。 DataGridView. このテーブルにアイテムを追加すると、ID が順次インクリメントされ、デバッグからは ID が正しくインクリメントされているように見えるため、このエラーが発生する理由がわかりません。私はVisual Studioを初めて使用するので、アイテムがテーブルに追加されたときではなく、行を選択したときにこのエラーが発生する理由について本当に混乱しています。
このエラーが発生している行、または DGV で行を選択したときにエラーが発生した理由を知る方法はありますか? System.Data.ConstraintException を [例外] ウィンドウでマークしてみましたが、これは通常は機能しますが、プログラムは停止せず、他の例外の場合とは異なり、コード内の対応する行に移動しません。ダイアログウィンドウがポップアップするだけで、閉じるとプログラムは通常どおり続行します。
私が注意すべきもう 1 つのことは、アイテムがデータベースに適切に追加され、正しい ID とすべてが含まれていることです。例外ダイアログがポップアップする以外に問題が発生しているようには見えません。ダイアログが表示されないように DataError イベントを処理するだけでよいことはわかっていますが、これを隠すのではなく、これを解決したいと考えています。
例外のスクリーンショットは次のとおりです。
繰り返しますが、明確にするために、新しいレコードを追加した後に DataGridView で任意の行を選択すると、この例外がポップアップします。また、onRowEnter で発生するように設定されたイベントはありません。
どんな助けでも大歓迎です!前もって感謝します。
java - GenerationType.IDENTITY @onetomany Postgres 子 (多) テーブルの挿入を使用する JPA が失敗する: 親 FK の非 Null 制約エラー
チームには多くのプレーヤーがいるとします。JPA/Hibernate の使用。ポストグル 9.1。GenerationType.IDENTITY (Postgres は Oracle のように int 列でシーケンスを使用します)。em.persist() の新しい挿入時に、子テーブルで null 以外のエラーが発生します (非常にわずかに難読化されたコードのプレーヤーテーブル...無実を保護するために名前が変更されました:) 以下のエラー情報.
親テーブル
子テーブル
適切な測定のためのpersistence.xml:
エラー情報:
プレーヤーを方程式から外した場合、つまり「チーム」クラスでプレーヤー属性の値が null に設定されている場合 (プレーヤー リストを属性に追加するコードをコメントアウトしている場合)、データが正常に挿入されることに注意してください。チームテーブル。問題はすべてプレイヤーにあります。(Toronto Maple Leafs の所有者に聞いてみてください。:p)。
問題の原因は GenerationType.IDENTITY でしょうか? つまり、トランザクションが終了する前に親テーブルのチーム ID が返されないため、FK としてプレーヤー テーブルに配置できませんか? もしそうなら、別の世代タイプを使用する以外に、何か救済策はありますか? 私はデータベースシーケンスを使用するのが好きです(より多くの制御私見)。
シーケンス生成タイプの方が良いですか、それとも同じ問題ですか? しかし、これを行うには何らかの方法が必要であると確信しています。ありませんか?:/
ID を次のように変更しました (つまり、hibernate に ID を生成させます):
今、私はこのエラーが発生しています:
うーん!
c# - SQLServerCompactからフィールド値を照会する
「SortedPlayers」は、主キーと一致する小数の配列です。
クエリGetHeightを呼び出すと、次のエラーが発生します。「ConstraintExceptionが処理されませんでした:制約を有効にできませんでした。1つ以上の行に、null以外、一意、または外部キーの制約に違反する値が含まれています。」
クエリのSQLステートメントは次のとおりです。
注:データベースでは、Numberが主キーです。
実行をステップスルーすると、sortedPlayers[counter]がデータベース内のプレーヤーと一致することがわかります。
このエラーの原因について何か考えはありますか?
ありがとう!
-ドミニク
ruby-on-rails - OmniauthCallbacksController 中に制約が失敗しました
私は Ruby on Rails にまったく慣れていないので、ご容赦ください。
ユーザーが Facebook からサインインできるようにしたい。railscast #265 Devise and OmniAuth (revised) に従いました。Railscast では、ユーザーは Facebook にログインする前に電子メールアドレスを求められます。事前にメールアドレスを必要とせずにFacebookからサインインできるようにしたい.
私が使っているもの: The Devise と Omniauth-facebook gems
私の期待: ユーザーがリンクをクリックし、Facebook からログインすると、Facebook がメール、名前、uid を返し、アプリがそれをデータベースに保存し、ユーザーが作成されます。
私が得るもの:エラーメッセージActiveRecord::StatementInvalid in OmniauthCallbacksController#facebook
これは私の user.rb モデルです:
これは、ユーザーに OmniAuth を追加するための私の移行です (ユーザーは既にメールを持っています)
そして、これは私の OmniAuth Callback コントローラーです:
前もって感謝します
編集:スタックトレース:
編集:サーバーログ奇妙なことです。印刷するauth
と、サーバーログに名前、電子メール、プロバイダー、および uid が表示されます。ただし、次のように表示されます。
たとえば、名前、電子メールですnil
が、プロバイダーと uid (現在は XXXXX) が入力されています。ユーザー モデルに名前と電子メールを追加しました。多分ここに問題がありますか?これは役に立ちますか?
c# - 私の SQL テーブルは、この列に NULL を許可するように設定されていますが、実行すると、NULL にすることはできないと表示されます。何を/なぜ/どのように?
だから私はここでかなり奇妙な苦境に陥っています。私の SQL テーブルは、次のように ZipCode 列に null を許可するように設定されています。
これで、ZipCode の値を NULL にすることができますよね? うーん、ないようですね……。
このエラーが発生し続けます:
タイプ 'System.Data.ConstraintException' の例外が EntityFramework.dll で発生しましたが、ユーザー コードで処理されませんでした 追加情報: 'Company' の 'ZipCode' プロパティを 'null' 値に設定できませんでした。このプロパティは、'System.Int32' 型の null 以外の値に設定する必要があります。
これがそうする理由を誰でも思いつくことができますか?? データベース プロジェクトとローカル データベースを確認して再確認しましたが、両方とも一致しています。そして、すべての単体テストに合格したので、ここではほとんど途方に暮れています。
どんな助けでも大歓迎です!
datatable - データテーブルを埋めるときに重複を防ぐ
私はバーコード スキャン アプリケーションを実行しているので、ユーザーがバーコードをスキャンするたびに、アプリケーションはデータベースから行を取得し、DataTable に入力します。ユーザーがすべてのスキャンの結果を確認できるようにするため、clearbeforefill=false を設定します。ユーザーのスキャン速度が速すぎる場合に、1 つのバーコードの重複スキャンを防止したい。DataSet.EnforceConstraint を true に設定すると、固有の違反メッセージが表示されることがわかりました。ただし、アプリケーションがスキャンをサイレントにバイパスするようにしたいので、以下のように ConstraintException をキャッチしようとしました
catch ブロックで何もしないと、DataTable で重複した行が許可されるため、DataTable に入力する前に、重複したアイテムを手動で削除するか、毎回確認する必要がありますか? 手伝ってくれてありがとう
ada - Heapify SiftDown の実行中に制約エラーが発生しました
私は自分自身でコードを学ばなければならないクラスのために、Ada でこのコードを書いています。ヒープ ソートは理解していますが、Ada の構文は本当に混乱しています。このソート関数で制約エラーが発生する理由がわかりません。基本的に、配列「A」をこのプロシージャに渡す必要があり、それを整理する必要があります。siftDown(A(Start...A'Last)); で制約エラーが発生します。
前もって感謝します