我正忙于学校作业,我有一个由三个表组成的基本访问数据库。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;
现在所有的值都是字符串。
关于这个错误来自哪里的任何建议?