【问题标题】:Error upon inserting data into Access database将数据插入 Access 数据库时出错
【发布时间】:2012-11-08 09:08:26
【问题描述】:

我正忙于一项学校作业,我有一个由三个表组成的基本访问数据库。 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;

现在所有的值都是字符串。

关于这个错误来自哪里的任何建议?

【问题讨论】:

  • 您在图书(ISBN)中有相关记录吗?
  • 我发现我的错误,谢谢

标签: c# asp.net ms-access


【解决方案1】:

检查表bookRatedrelationship。有关此错误检查的更多信息Microsoft Support Site

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    相关资源
    最近更新 更多