2013-12-22 128 views
1

這是我的表​​。該ID是自動遞增,這是插入指令:插入一個自動增量鍵到SQL Server Compact數據庫

cmd.Connection = connexion 
cmd.CommandText = "INSERT into Produit_fini(libelle,prix) values (@libelle,@prix)" 
cmd.Parameters.AddWithValue("@libelle", libelle) 
cmd.Parameters.AddWithValue("@prix", prix) 
connexion.Open() 
cmd.ExecuteNonQuery() 
connexion.Close() 

執行該後,發生錯誤說我不能插入NULL值的ID!?

該列不能包含NULL值。 [列名= ID,表名 = Produit_fini]

如何在此處插入ID?

+0

你確定'Id'列是否自動增加;即用'IDENTITY(?,?)'屬性聲明? –

+0

我以圖形方式創建表,所以這些是此列的屬性:'AllowDBNull = False''AutoIncrement = true''AutoIncrementSeed = 1'' AutoIncrementStep = 1'' Datatype = System.Int32''MaxLength = -1' @MahmoudGamal – Somar

+0

我真的不知道,但它應該可以正常工作。你可以請嘗試以編程方式執行它像'ALTER TABLE Produit_fini ALTER COLUMN ID INT IDENTITY(1,1);'?然後嘗試插入。 –

回答

1

看來這個專欄ID未定義爲IDENTITY屬性。但是,您將無法更改表格以添加IDENTITY屬性。

您必須刪除表格(如果其上沒有數據),然後再次創建該表格,並且ID具有IDENTITY(1,1)

您可能還需要使用this tool Compactview才能夠針對SQL Server精簡版數據庫運行語句。