我几乎关注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都会自动生成主键。我该如何解决这个错误?感谢您的回复。
答案 0 :(得分:-1)
感谢您的快速回复。有多个主键(错误地创建)。我删除了不必要的第二个pk,它工作正常。