将记录添加到数据库时的主键错误

时间:2013-09-27 11:31:22

标签: c# database winforms ms-access odbc

我几乎关注MSDN上的文章, http://msdn.microsoft.com/en-us/library/5ycd1034.aspx向表中添加新行。这是我的实现,我只包括相关部分:

        this.booksTableAdapter.ClearBeforeFill = true;

        DataRow row = core.Tables["books"].NewRow();

        row[0] = 1234567;               //primary key
        row[3] = book_name;             //string

        //add
        core.Tables["books"].Rows.Add(row);
        //update
        booksTableAdapter.Update(core); //generates error

执行时,我得到'[ODBC Microsoft Access Driver]: 索引或主键不能包含Null值' 尽管明确设置了主键。如果我没有设置主键,则错误相同。我总是假设无论我的代码如何,Access都会自动生成主键。我该如何解决这个错误?感谢您的回复。

1 个答案:

答案 0 :(得分:-1)

感谢您的快速回复。有多个主键(错误地创建)。我删除了不必要的第二个pk,它工作正常。