我尝试开发一个从excel表到SqlServer的插入数据的程序。 我尝试将数据插入sqlserver时出错。这是我的错误信息
"无法在对象' dbo.ta_Kullanici'中插入重复的键行。同 唯一索引' IX_ta_Kullanici'。\ r \ n该声明已被终止。"
ID是unque和autoincrement在我的表中。
感谢您的帮助! :)
我的代码的一部分在这里;
if (!check)
{
kul = new ta_Kullanici();
hata = new KullaniciHata();
hata.AdSoyad = kullanicilar.Rows[i][7].ToString() + " " + kullanicilar.Rows[i][8].ToString();
hatalar.Add(hata);
kul.kul_ad = kullanicilar.Rows[i][7].ToString();
kul.kul_soyad = kullanicilar.Rows[i][8].ToString();
foreach (var bolge in bolgeler)
{
if (kullanicilar.Rows[i][1].ToString().ToLower().IndexOf(bolge.bolge_ad.ToLower()) != -1)
{
kul.kul_bolge_Id = bolge.bolge_Id;
}
}
kul.kul_ikTar = DateTime.Now;
kul.kul_statu = true;
kul.kul_guid = Guid.NewGuid().ToString();
kul.kul_ikIP = "127.0.0.1";
kul.kul_ik_kul_Id = 5;
kul.kul_TCKNo = kullanicilar.Rows[i][9].ToString();
kul.kul_kulAd = kullanicilar.Rows[i][6].ToString();
kul.kul_tip_enm = 2;
if (!string.IsNullOrWhiteSpace(kullanicilar.Rows[i][9].ToString()))
{
kul.kul_sifre = kullanicilar.Rows[i][9].ToString();
}
else
{
kul.kul_sifre = "123123";
}
checkList.Add(kul);
db.ta_Kullanici.Add(kul);
db.SaveChanges();
hatalar.Remove(hata);
}
答案 0 :(得分:0)
查看问题dbo.ta_Kullanici
中的表格,看看名为IX_ta_Kullanici
的索引所在的列。
有问题的索引是唯一索引,这意味着不允许列的任何重复值
请记住,此索引可以位于表格中的任何列上,并且不限于主键。
答案 1 :(得分:0)
所以基本上问题是该列有一个唯一键的索引,该索引的作用是确保列上不会重复重复值,要更改您可以做的是转到管理工作室, 转到包含该列的表,在该列上单击鼠标右键,然后单击进行修改。将出现一个屏幕,其中显示所有列。右键单击列旁边的小框并选择索引/键。然后您将看到一个 IsUnique 属性。将其设置为“否”。