Düzeltme: bir kayıt bir tablodaki verileri değiştirmek için kod kullanmayı denediğinizde, System.Data.Index.CompareRecords yöntemi bir System.NullReferenceException özel oluşturduğu bir.net Framework 2.0 tabanlı uygulama

Makale çevirileri Makale çevirileri
Makale numarası: 940932 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Aşağıdaki senaryoyu düşünün. Microsoft.net Framework 2.0 tabanlı bir uygulama veri tablosu uygulamasına bağlama. Daha sonra bir sütuna veri tablosundan kaldırın. Daha sonra bu veri tablosunda bir kayıt değiştirmek için kod kullanmayı deneyin. Bu senaryoda, System.Data.Index.CompareRecords yöntemin oluşturduğu bir System.NullReferenceException özel durum.

Bu sorun, aşağıdaki koşullardan biri doğru olduğunda oluşur:
  • Birincil anahtar tablosundan kaldırmış olursunuz.
  • Bir kısıtlama koleksiyon veri tablosundan kaldırmış olursunuz.
  • , AllowDBNull bir sütunun özelliği, "false" ve bu sütunu Kaldır.
  • , Benzersiz bir sütun için özelliği ayarlanır "true" ve bu sütunu Kaldır.

Neden

İç dizin kaldırılmış olan sütuna başvuru için bu sorun oluşur.

Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak, düzeltmenin yalnızca bu makalede açıklanan sorunu gidermesi amaçlanmıştır. Bunu yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme, ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi olarak etkilenmiyorsanız sonraki için beklemeniz önerilir.Bu düzeltmeyi içeren net Framework 2.0 service pack.

Bu sorunu hemen çözümlemek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözümleyeceğini belirlerse, destek aramaları için normalde uygulanan telefonlarından iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

Önkoşullar

Bu düzeltmeyi yüklemeden önce 916002 düzeltmeyi yüklemeniz gerekir.Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
916002Düzeltme: bir ado SqlClient sınıfta kullanmaya çalıştığınızda hata iletisi.sql Server 2005 örneğine bağlanmak için net 2.0 tabanlı bir uygulama: "yeni istek geçerli işlem tanımlayıcısı ile gelmeli çünkü izin verilmedi"

Yeniden başlatma gereksinimi

Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekir.

Düzeltme değiştirme bilgileri

Bu düzeltme diğer düzeltmelerin yerini almaz.

Dosya bilgileri

Bu düzeltmenin İngilizce sürümü dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahip aşağıdaki tabloda listelenen. Tarihleri ve saatleri bu dosyaların UTC (eşgüdümlü evrensel saat) Kullanılarak listelenmiştir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. utc ve yerel saat arasındaki farkı bulmak için Saat dilimi sekmesinde Tarih ve saat Denetim Masası'nda madde.
Bu tabloyu kapaBu tabloyu aç
Dosya adıDosya sürümüDosya boyutuTarihiSaatPlatform
Mscordacwks.dll2.0.50727.916802,30404 Ağu 200703: 28x 86
Mscorjit.dll2.0.50727.916326,65604 Ağu 200703: 28x 86
Mscorlib.dll2.0.50727.9164,308,99204 Ağu 200703: 28x 86
Mscorpe.dll2.0.50727.916102,91204 Ağu 200703: 28x 86
MSCORWKS.dll2.0.50727.9165,634,56004 Ağu 200703: 28x 86
Normalization.dll2.0.50727.91615.36004 Ağu 200703: 28x 86
Peverify.dll2.0.50727.916136,19204 Ağu 200703: 28x 86
Sos.dll2.0.50727.916382,46404 Ağu 200703: 28x 86
System.Data.dll2.0.50727.9162,903,04004 Ağu 200703: 28x 86

Pratik Çözüm

Bu soruna geçici bir çözüm için yeni bir veri tablosu oluşturun.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

Bu düzeltmeyi uyguladıktan sonra bir sütun kaldırılamaz, bir DataView.RowFilter özellik veya bir DataView.Sort özellik sütuna başvuruyor.

Hakkında daha fazla bilgi için System.NullReferenceException özel durum, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/System.NullReferenceException (vs.80) .aspx
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Çağrı yığını bilgileri

07d0e4b8 09195ccd System.Data.Index.CompareRecords(Int32, Int32)
07d0e4d8 09195c7a System.Data.Index+IndexTree.CompareNode(Int32, Int32)
07d0e4e4 0ff93c0e System.Data.RBTree`1[[System.Int32, mscorlib]].SearchSubTree(Int32, Int32)
07d0e4fc 0ff940e8 System.Data.RBTree`1[[System.Int32, mscorlib]].GetNodeByKey(Int32)
07d0e514 0ff93ee9 System.Data.Index.RecordStateChanged(Int32, System.Data.DataViewRowState, System.Data.DataViewRowState, Int32, System.Data.DataViewRowState, System.Data.DataViewRowState)
07d0e548 09193e97 System.Data.DataTable.RecordStateChanged(Int32, System.Data.DataViewRowState, System.Data.DataViewRowState, Int32, System.Data.DataViewRowState, System.Data.DataViewRowState)
07d0e598 09191fb7 System.Data.DataTable.SetNewRecordWorker(System.Data.DataRow, Int32, System.Data.DataRowAction, Boolean, Int32, Boolean, System.Exception ByRef)
07d0e648 0ff93e29 System.Data.DataTable.SetNewRecord(System.Data.DataRow, Int32, System.Data.DataRowAction, Boolean, Boolean)
07d0e664 09191485 System.Data.DataRow.EndEdit()
07d0e690 0955c905 System.Data.DataRow.set_Item(System.Data.DataColumn, System.Object)
07d0e6cc 0ff9e55a System.Data.DataRow.set_Item(Int32, System.Object)

Özellikler

Makale numarası: 940932 - Last Review: 28 Mayıs 2011 Cumartesi - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework 2.0
Anahtar Kelimeler: 
kbexpertiseadvanced kbfix kbqfe kbmt KB940932 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:940932

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com