2014-03-04 36 views
0

我有一个索引表来管理ASP.NET MVC上的数据库。当我创建新产品时,它会发现这个错误。这是什么意思,以及如何解决它?ASP.NET:不能在对象中插入重复键行

Cannot insert duplicate key row in object 'Production.Product' with unique index 'AK_Product_rowguid'. The duplicate key value is (00000000-0000-0000-0000-000000000000).

回答

2

您在插入时缺少一个字段。您应该添加在你的insert声明是这样的:

insert 
into product 
(... -- other column names 
, your_column_name 
) 
values 
(... -- other values 
, newid() 
) 
+0

ASP.NET中的问题。但是没问题,无论如何,非常感谢! –

+0

@TrungPham:我认为你不明白发生了什么,错误信息是一个SQL Server错误信息,而不是一个ASP.NET错误信息 –

+0

对不起错了,它发生在SQL Server中,现在我修好了! –

2

00000000-0000-0000-0000-000000000000sqluniqueidentifier或ASP system.Guid。它尚未初始化,所以我认为你是从ASP传输这个值。如果您的查询使用参数,请尝试使用system.guid.newguid()system.guid.newguid.tostring向查询添加新参数。

如果要创建的T-SQL脚本中exectued(例如:"insert into production.product values('"+TextBox1.Text+"', newid())""insert into production.product values('"+TextBox1.Text+"', '"+system.guid.newguid.tostring()+"')"

您可以定义产品表中的唯一标识符列的默认值newid()

+0

@TrungPham:你的问题是什么? –

+0

我不'我也不明白。你有错误信息吗? – Andras

+0

我在'Action'中增加了'System.Guid.NewGuid()',错误消失了。不便之处,敬请原谅。 –

相关问题