2015-05-29 159 views
0

我嘗試開發一個用於從excel表向SqlServer插入數據的程序。 我嘗試向sqlserver插入數據時發生錯誤。這就是我在這裏的錯誤信息無法在具有唯一索引'IX_ta_Kullanici'的對象'dbo.ta_Kullanici'中插入重複鍵行。 r n該語句已被終止

「不能在對象與 唯一索引IX_ta_Kullanici'插入重複鍵行‘dbo.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

引用數據庫中主鍵的索引名稱是什麼?默認情況下,它就像PK_dbo.Kullanici。它似乎違反了另一個索引,而不是主鍵 – Disappointed

+0

在數據庫中創建了哪個列索引IX_ta_Kullanici,該列不能重複? – Anil

+0

是的。但只有一列不是必須的,也有一些可能 – Disappointed

回答

0

看一看問題dbo.ta_Kullanici表,並看到一個名爲IX_ta_Kullanici該指數是基於哪列。

所關注的索引是一個唯一索引,這意味着它會允許任何重複值的列(S)

記住這個指數可以在任何一列在表中是不限於主鍵。

相關問題