2010-11-18 16 views
2

Öncelikle veritabanları ve C# ile çalışmaya başladım, bu yüzden gerçekten aptalca bir hata yapabilirim bu yüzden özür dilerim. Ben bir SQL server express veritabanına bağlandım ve ondan iyi okuyabilirim, ancak DataSet'i yeni sütunlar eklemek için güncellediğimde ve veri kaynağını güncellemeyi denediğimde her zaman başarılı bir şekilde güncelleme yapmayacağım. Aşağıdaki kod:Bir veri kaynağını veri bağdaştırıcısı güncelleştirmesiyle güncelleştirirken sorun yaşanıyor

 DataColumn newColumn; 
     SqlCommandBuilder cmdBuild = new SqlCommandBuilder(_myAdapt); 

     foreach (String s in myList) 
     { 
      newColumn = new DataColumn(s, System.Type.GetType("System.String")); 
      _myData.Tables["Table1"].Columns.Add(newColumn); 
     } 

     _myAdapt.Update(_myData, "Table1"); 

Bunun neden işe yaramayacağına dair herhangi bir önerisi var mı? Hata ayıkladı ve veri kümesi kesinlikle yeni sütunlarla güncelleniyor ancak veri kaynağını güncelleyemiyorum.

Yanıtlarınız için teşekkür ederiz.

+0

Hangi hata lütfen? Ve aslında veritabanında bulunan daha fazla sütunu güncellemeye mi çalışıyorsunuz? – gbn

+0

Evet, veritabanında mevcut olandan daha fazla sütun güncelleştirmeye çalışıyordum, yeni bir tablo oluşturmaya çalıştığım iki büyük metin dosyam var. Bunlardan biri sütunlara eşlemek istediğim yaklaşık 700.000 etiketin bir listesini içeriyor. Diğeri ise, sütunlar eklendikten sonra ekleyeceğim yaklaşık 1500 kişi için test sonuçları içeriyor. – rhbrb

cevap

0

Bu sütun veritabanında (ve veritabanınızda değil) var mı yoksa veri kümesini kullanarak veritabanındaki tablo tanımını ALTER yapmaya çalışıyor musunuz?

Yukarıdakilerin mümkün olduğuna inanmıyorum. Veri kümenizin, güncellemekte olduğunuz veritabanı tablosununkiyle eşleşen bir sütun yapısına sahip olması gerekir. Ancak, veri kümesine istediğiniz kadar çok satır ekleyebilir ve bunların tümü veritabanına INSERT yazacaktır.

Çalışma zamanında tablonuza sütun eklemeniz gerektiğini düşünüyorsanız, veri modelinizi tekrar gözden geçirmenizi öneririz. Mümkünse, depoladığınız veri varlıklarının ana özelliklerini temsil etmek için sütun tanımlarınızın zamanla değişmemesi gerekir.

+0

Evet, yapmaya çalıştığım bu ikisinin ikincisidir. Sanırım yaklaşımımı yeniden düşünmek zorundayım. Cevap için teşekkürler. – rhbrb

İlgili konular