我已經在SQL Server Compact中將主鍵字段設置爲自動增量和標識,並且當我向它插入新記錄時,我不填充標識值並將其傳遞給它屁股null。 但在運行應用程序時,我得到這個錯誤:在SQL Server CE中使用自動增量的主鍵錯誤
「服務器生成的密鑰和服務器生成的值,不支持通過 的SQL Server Compact」
我已經在SQL Server Compact中將主鍵字段設置爲自動增量和標識,並且當我向它插入新記錄時,我不填充標識值並將其傳遞給它屁股null。 但在運行應用程序時,我得到這個錯誤:在SQL Server CE中使用自動增量的主鍵錯誤
「服務器生成的密鑰和服務器生成的值,不支持通過 的SQL Server Compact」
爲了避免這種錯誤,你應該離開的ID列在您的插入單獨。 如果你有三列的表,你應該做你插入這樣的: 的表聲明:
CREATE TABLE Books
(
ID INT IDENTITY,
Name NVARCHAR(200),
PublishYear DATETIME
)
,並插入您的記錄就像這樣:
INSERT INTO Books (Name, PublishYear)
VALUES (N'Boof-e koor', '1937-10-28 12:30:00.000')
同樣,你不得提插入語句中的INDENTITY列。
親愛的Soheil,我使用實體框架工作,並且使用add addObject方法。我需要創建我的實體的一個對象,它不與我在插入時忽略標識列 –
對於SQL Compact 3.5,您必須使用Guid作爲ID,因爲在使用實體框架時不支持int IDENTITY。但是,int與SQL Compact 4.0一起使用。
你的問題是什麼? – Silvermind
問題是我應該如何將自動遞增主鍵記錄插入到我的表中? –
我的問題有點諷刺,因爲你沒有真正說明一個,錯誤信息很清楚:它不被支持。爲了避免問題,你最好的選擇是使用'Guid'作爲ErikEJ狀態 – Silvermind