C# 将记录添加到数据库时出现主键错误
我基本上关注了MSDN上的文章, 向表中添加新行的步骤。这是我的实现,我只包含了相关部分:C# 将记录添加到数据库时出现主键错误,c#,database,winforms,ms-access,odbc,C#,Database,Winforms,Ms Access,Odbc,我基本上关注了MSDN上的文章, 向表中添加新行的步骤。这是我的实现,我只包含了相关部分: this.booksTableAdapter.ClearBeforeFill = true; DataRow row = core.Tables["books"].NewRow(); row[0] = 1234567; //primary key row[3] = book_name;
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驱动程序]:
索引或主键不能包含空值'
尽管显式设置了主键。如果未设置主键,则错误相同。我一直认为Access会自动生成主键,而不管我的代码是什么。如何修复此错误?感谢您的回复。谢谢您的快速回复。有多个主键(错误创建)。我删除了不必要的第二个主键,它工作正常。使用MS Access检查数据库表,确认主键仅由位置0处的字段组成。主键可以是复合主键,由多个列组成。主键是随机生成的长整数。