.NET 3.5 projesi ile çalışıyorum ve bir DataTable'ım var, bir MySQL tablosundan dolduruyorum. Tabloda, aramam gereken bir "e-posta" sütunu var. Açık bir şekilde birincil anahtarı ayarlıyorum ve aşağıdaki kod tabloda 422 veya daha fazla satır elde edene kadar iyi çalışıyor.DataTable.Rows.Find, tablo çok büyük olduğunda "Tabloda birincil anahtar yok" hatası veriyor
object[] searchfor = new object[] { row["email"] };
DataColumn[] pk = new DataColumn[] { dtAccounts.Columns["email"] };
dtAccounts.PrimaryKey = pk;
match = dtAccounts.Rows.Find(searchfor);
Belki de 422'nci kayıtta bazı kötü veriler olduğunu düşündüm, ancak doğrulanmadığını doğruladım. Aldığım hata, "Tablonun birincil anahtarı yok", ki bunu açıkça yapıyor.
Sadece kodunuzu 500 girdiyle el ile oluşturduğum bir tablo üzerinde test ettim ve hatayı almadım. Kodunuzu bu kapsamdan iki kez kontrol edin. – BeemerGuy
* Birincil anahtarı yoksa, bu bir tablo değil! * - Bazı SQL guru :-) –