C# 将数据插入Access数据库时出错

C# 将数据插入Access数据库时出错,c#,asp.net,ms-access,C#,Asp.net,Ms Access,我正忙于学校作业,我有一个基本的access数据库,由三个表组成。Book、Reader和BookRated,其中as BookRated是具有主键的交叉表,Reader的用户名和Book的ISBN构成BookRated的复合主键(作为外键) 我试图在BookRated表中插入信息,但出现以下错误 System.Data.OleDb.OLEDBEException:无法添加或更改记录,因为表“Book”中需要相关记录 现在所有的值都是字符串 关于此错误的来源,是否有任何建议?检查表的关系。有关此

我正忙于学校作业,我有一个基本的access数据库,由三个表组成。Book、Reader和BookRated,其中as BookRated是具有主键的交叉表,Reader的用户名和Book的ISBN构成BookRated的复合主键(作为外键)

我试图在BookRated表中插入信息,但出现以下错误

System.Data.OleDb.OLEDBEException:无法添加或更改记录,因为表“Book”中需要相关记录

现在所有的值都是字符串


关于此错误的来源,是否有任何建议?

检查表
关系
。有关此错误检查的更多信息

您是否在书里有相关记录(ISBN)?我发现了我的错误,谢谢
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;