-1
我几乎是按照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驱动程序]: 索引或主键不能包含Null值” 尽管明确设置主键。如果我不设置主键,错误是相同的。我总是认为无论我的代码如何,Access都会自动生成主键。我该如何解决这个错误?感谢您的回复。
使用MS Access检查您的数据库表,并确认您的主键仅由0位的字段组成 – Steve
您的pk可能是一个由多列组成的复合主键 – mcy
主键是随机生成的长整数。 – FatCat