0

私は学校の課題で忙しく、3 つのテーブルで構成される基本的なアクセス データベースを持っています。Book、Reader、および BookRated は、BookRated が Reader からの主キー userName と Book からの ISBN との交差テーブルであるため、BookRated の複合主キー (外部キーとして) を構成します。

BookRated テーブルに情報を挿入しようとしていますが、次のエラーが表示されます

System.Data.OleDb.OleDbException: テーブル 'Book' に関連レコードが必要なため、レコードを追加または変更できません。

bool added;

    int i;
    conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;
                                Data Source =" + Server.MapPath("App_Data\\BookRateInitial.mdb"));
    conn.Open();

    OleDbCommand cmd2 = conn.CreateCommand();
    cmd2.CommandText = @"INSERT INTO bookRated([frnISBN], [title], [rating], [review], [frnUserName])
                      VALUES(@ISBN, @title, @rating, @review, @userName)";
        //adding my parameters
    cmd2.Parameters.AddRange(new OleDbParameter[]
    {
        new OleDbParameter("@title", bookTitle),
        new OleDbParameter("@rating", rating),
        new OleDbParameter("@review", review), 
        new OleDbParameter("@ISBN", isbn), 
        new OleDbParameter("@userName", userName),
    });
    added = true;
    i = cmd2.ExecuteNonQuery();
    conn.Close();
    return added;

今のところ、すべての値は文字列です。

このエラーの原因について何かアドバイスはありますか?

4

1 に答える 1

1

relationshipテーブルのチェックbookRated。このエラーの詳細については、Microsoft サポート サイトを確認してください

于 2012-11-08T09:13:18.387 に答える