Javascript 违反主键约束无法插入重复键错误?
在我的视图中,我有六个字段TinNo、CstNo、PanNo、CinNo、ServiceTaxNo、exerceregno。每个字段都有默认Guid,例如TinNo-means(TinNo=FD713788-B5AE-49FF-8B2C-F311B9CB0CC4)。我需要将这六个字段保存在同一列中,但不在TaxInfo TaxField表的同一行和同一单元格中。TaxInfo TaxField表包含TaxInfo TAXFIELDID、TAXFIELDID、FIELDVALUE,即我需要将这六个字段值(在视图中输入)保存在FIELDVALUE列中,它们的id在TAXFIELDID列中,需要逐行保存。所以我决定把默认的guid放在一个列表中,把字段放在另一个列表中,然后在我们想要的地方调用。在TaxInfoTaxFieldID中,每一行都有一个新的guid 所以我决定将默认GUID放在一个列表中,将6个字段放在另一个列表中Javascript 违反主键约束无法插入重复键错误?,javascript,c#,jquery,sql,asp.net-mvc-4,Javascript,C#,Jquery,Sql,Asp.net Mvc 4,在我的视图中,我有六个字段TinNo、CstNo、PanNo、CinNo、ServiceTaxNo、exerceregno。每个字段都有默认Guid,例如TinNo-means(TinNo=FD713788-B5AE-49FF-8B2C-F311B9CB0CC4)。我需要将这六个字段保存在同一列中,但不在TaxInfo TaxField表的同一行和同一单元格中。TaxInfo TaxField表包含TaxInfo TAXFIELDID、TAXFIELDID、FIELDVALUE,即我需要将这六个
ArrayList objValue = new ArrayList();
{
objValue.Add(TITFVM.TinNo);
objValue.Add(TITFVM.CstNo);
objValue.Add(TITFVM.PanNo);
objValue.Add(TITFVM.CinNo);
objValue.Add(TITFVM.ExciseRegNo);
objValue.Add(TITFVM.ServiceTaxNo);
}
List<Guid> LG = new List<Guid>();
LG.Add(new Guid("FD713788-B5AE-49FF-8B2C-F311B9CB0CC4"));
LG.Add(new Guid("64B512E7-46AE-4989-A049-A446118099C4"));
LG.Add(new Guid("376D45C8-659D-4ACE-B249-CFBF4F231915"));
LG.Add(new Guid("59A2449A-C5C6-45B5-AA00-F535D83AD48B"));
LG.Add(new Guid("03ADA903-D09A-4F53-8B67-7347A08EDAB1"));
LG.Add(new Guid("2F405521-06A0-427C-B9A3-56B8931CFC57"));
var taxinfotaxfieldID = Guid.NewGuid();
var listFiled = new List<TaxInfoTaxFiled>();
for (var item = 0; item < objValue.Count; item++)
{
TaxInfoTaxFiled taxInfoObj = new TaxInfoTaxFiled()
{
TaxInfoTaxFieldID = taxinfotaxfieldID,
TaxFieldID = new Guid(LG[item].ToString()),
FieldValue = objValue[item].ToString()
};
listFiled.Add(taxInfoObj);
db.TaxInfoTaxFileds .Add(taxInfoObj);
db.SaveChanges();
}
return View();
}
ArrayList objValue=new ArrayList();
{
objValue.Add(TITFVM.TinNo);
objValue.Add(TITFVM.CstNo);
objValue.Add(TITFVM.PanNo);
objValue.Add(TITFVM.CinNo);
objValue.Add(TITFVM.exceleregno);
objValue.Add(TITFVM.ServiceTaxNo);
}
List LG=新列表();
LG.添加(新Guid(“FD713788-B5AE-49FF-8B2C-F311B9CB0CC4”);
LG.添加(新Guid(“64B512E7-46AE-4989-A049-A446118099C4”);
LG.添加(新Guid(“376D45C8-659D-4ACE-B249-CFBF4F231915”);
LG.添加(新Guid(“59A2449A-C5C6-45B5-AA00-F535D83AD48B”);
LG.添加(新Guid(“03ADA903-D09A-4F53-8B67-7347A08EDAB1”);
LG.添加(新Guid(“2F405521-06A0-427C-B9A3-56B8931CFC57”);
var taxinfotaxfieldID=Guid.NewGuid();
var listfield=新列表();
对于(var item=0;item
所有都工作正常,但对于第二个循环,我有一个错误
违反主键约束“PK_taxinfotaxfield”。无法在对象“dbo.taxInfoTaxField”中插入重复键。
声明已终止。
在TaxInfoTaxFieldID中,它为所有迭代计算相同的id,所以我认为只有我得到了这个错误。那我该怎么办?请帮我纠正这个问题
提前谢谢 您的taxinfotaxfieldID将始终是相同的guid,这就是为什么会出现此错误,而且您不应该将主键插入数据库表,您可以像这样创建sql表 Create table TaxField ( TaxInfoTaxFiled INT NOT NULL IDENTITY (1,1) PRIMARY KEY, TaxFieldID varchar(50), FieldValue varchar(50) ) or if you really want to use a Guid Create table TaxField ( ID INT NOT NULL IDENTITY (1,1) PRIMARY KEY, TaxInfoTaxFiled UNIQUE DEFAULT GUID(), TaxFieldID varchar(50), FieldValue varchar(50) ) 创建表TaxField ( TaxInfo非空标识(1,1)主键, TaxFieldID varchar(50), 字段值varchar(50) ) 或者如果您真的想使用Guid 创建表TaxField ( ID INT非空标识(1,1)主键, TaxInfoTaxField唯一默认GUID(), TaxFieldID varchar(50), 字段值varchar(50) )
这样可以避免插入重复的主键。您的taxinfotaxfieldID将始终是相同的guid,这就是为什么会出现此错误的原因。您不应该将主键插入数据库表。您可以像这样创建sql表 Create table TaxField ( TaxInfoTaxFiled INT NOT NULL IDENTITY (1,1) PRIMARY KEY, TaxFieldID varchar(50), FieldValue varchar(50) ) or if you really want to use a Guid Create table TaxField ( ID INT NOT NULL IDENTITY (1,1) PRIMARY KEY, TaxInfoTaxFiled UNIQUE DEFAULT GUID(), TaxFieldID varchar(50), FieldValue varchar(50) ) 创建表TaxField ( TaxInfo非空标识(1,1)主键, TaxFieldID varchar(50), 字段值varchar(50) ) 或者如果您真的想使用Guid 创建表TaxField ( ID INT非空标识(1,1)主键, TaxInfoTaxField唯一默认GUID(), TaxFieldID varchar(50), 字段值varchar(50) )
这样可以避免插入重复的主键。您是只存储一次还是多次???我为一个客户在同一列中存储多个字段一次是所有客户的
TinNo
值都不同吗?因为它是主键,需要不同,但您使用的是默认键。这可能是导致此错误的原因。您可能想尝试一些复合键或其他主键等待sachin我将向您展示您是只存储一次还是多次???我为一个客户在同一列中存储多个字段一次是所有客户的TinNo
值不同吗?因为它是主键,它需要不同,但您是使用默认键。这可能是导致此错误的原因。您可能想尝试一些复合键或其他主键等等,sachin,我将向您展示