-2

私は右のfkを制限しました..私は4つのテーブルを持っていますカテゴリテーブル(id、件名)ユーザーテーブル(id、ユーザー名、パスワード)質問テーブル(id、user_id(fk)、cat_id(fk)、タイトル、本文)==セット2 user テーブルと categorytable への fk 応答 table(id,userr_id(fk),questionn_id(fk),titlerep,bodytextrep)== 2 fk を question テーブルと user テーブルに設定 すべての pk と fk を null ではなく int として設定します。すべての関係は正しいです。しかし、応答テーブルのフィールド questionn_id を使用すると、挿入ボタンをクリックすると、特に問題が発生し、このエラーでラベル面を持つデータリストから読み取ることができなくなります:

エラー: INSERT ステートメントが FOREIGN KEY 制約 "FK_forumreply_forumquestions" と競合しました。データベース「フォーラム」、テーブル「dbo.forumquestions」、列「ID」で競合が発生しました。ステートメントは終了されました。

しかし、8の数字として手で与えると、挿入に成功しました。cmd.parameters.addwithvalue("questionn_id,"8");正しいが、cmd.parametes.addwithvalue("questionn_id",lbltext.text)==エラー

define で sth を見逃していませんか? 強制的に応答テーブルを一度削除し、すべての pk と fk と関係を使用して再度作成する必要があることを追加する必要があります

4

1 に答える 1

0

これを試して:

Parameters.Add("@questionn_id", SqlDbType.Int, 4).Value = Convert.ToInt32(lbltext.text);
于 2013-11-12T12:48:46.057 に答える