2013-12-22 96 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精简版数据库运行语句。