2013-07-13 61 views
0

我已經在SQL Server Compact中將主鍵字段設置爲自動增量和標識,並且當我向它插入新記錄時,我不填充標識值並將其傳遞給它屁股null。 但在運行應用程序時,我得到這個錯誤:在SQL Server CE中使用自動增量的主鍵錯誤

「服務器生成的密鑰和服務器生成的值,不支持通過 的SQL Server Compact」

+0

你的問題是什麼? – Silvermind

+1

問題是我應該如何將自動遞增主鍵記錄插入到我的表中? –

+0

我的問題有點諷刺,因爲你沒有真正說明一個,錯誤信息很清楚:它不被支持。爲了避免問題,你最好的選擇是使用'Guid'作爲ErikEJ狀態 – Silvermind

回答

1

爲了避免這種錯誤,你應該離開的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列。

+1

親愛的Soheil,我使用實體框架工作,並且使用add addObject方法。我需要創建我的實體的一個對象,它不與我在插入時忽略標識列 –

2

對於SQL Compact 3.5,您必須使用Guid作爲ID,因爲在使用實體框架時不支持int IDENTITY。但是,int與SQL Compact 4.0一起使用。

相關問題