2013-09-27 161 views
-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都會自動生成主鍵。我該如何解決這個錯誤?感謝您的回覆。

+0

使用MS Access檢查您的數據庫表,並確認您的主鍵僅由0位的字段組成 – Steve

+0

您的pk可能是一個由多列組成的複合主鍵 – mcy

+0

主鍵是隨機生成的長整數。 – FatCat

回答

-1

感謝您的迅速反應。有多個主鍵(由錯誤創建)。我刪除了不必要的第二個PK,它工作正常。

相關問題