DataTable’a Sütun Ekleme
ADataTable, tablonun Columns özelliği tarafından başvuruda bulunan bir nesne koleksiyonu DataColumn içerir. Tüm kısıtlamalarla birlikte bu sütun koleksiyonu, tablonun şemasını veya yapısını tanımlar.
DataColumn oluşturucuyu kullanarak veya bir olan tablonun Columns özelliğinin Add yöntemini çağırarak bir tablo DataColumnCollectioniçinde DataColumn nesneleri oluşturursunuz. Add yöntemi isteğe bağlı ColumnName, DataType ve Expression bağımsız değişkenlerini kabul eder ve koleksiyonun üyesi olarak yeni bir DataColumn oluşturur. Ayrıca var olan bir DataColumn nesnesini kabul eder ve koleksiyona ekler ve istenirse eklenen DataColumn'a bir başvuru döndürür. DataTable nesneleri herhangi bir veri kaynağına özgü olmadığından, DataColumn'un veri türü belirtilirken .NET Framework türleri kullanılır.
Aşağıdaki örnek bir DataTable'a dört sütun ekler.
Dim workTable As DataTable = New DataTable("Customers")
Dim workCol As DataColumn = workTable.Columns.Add( _
"CustID", Type.GetType("System.Int32"))
workCol.AllowDBNull = false
workCol.Unique = true
workTable.Columns.Add("CustLName", Type.GetType("System.String"))
workTable.Columns.Add("CustFName", Type.GetType("System.String"))
workTable.Columns.Add("Purchases", Type.GetType("System.Double"))
DataTable workTable = new DataTable("Customers");
DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;
workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));
Örnekte, CustID sütununun özelliklerinin DBNull değerlerine izin vermeyecek ve değerleri benzersiz olacak şekilde kısıtlanacak şekilde ayarlandığına dikkat edin. Ancak, CustID sütununu tablonun birincil anahtar sütunu olarak tanımlarsanız AllowDBNull özelliği otomatik olarak false olarak ayarlanır ve Unique özelliği otomatik olarak true olarak ayarlanır. Daha fazla bilgi için bkz . Birincil Anahtarları Tanımlama.
Dikkat
Bir sütun için sütun adı sağlanmazsa, sütuna DataColumnCollection'a eklendiğinde "Sütun1" ile başlayan artımlı varsayılan N Sütunu adı verilir. Bir sütun adı sağladığınızda "SütunN" adlandırma kuralından kaçınmanızı öneririz, çünkü sağladığınız ad DataColumnCollection'daki mevcut bir varsayılan sütun adıyla çakışabilir. Sağlanan ad zaten varsa, bir özel durum oluşturulur.
içinde olarak DataColumn DataType kullanıyorsanızXElement, verilerde DataTableokurken XML serileştirmesi çalışmaz. Örneğin, yöntemini kullanarak DataTable.WriteXml
bir XmlDocument yazarsanız, XML'ye seri hale getirildiğinde içinde XElementek bir üst düğüm vardır. Bu soruna geçici bir çözüm bulmak için yerine türünü XElementkullanınSqlXml. ReadXml
ve WriteXml
ile SqlXmldoğru şekilde çalışın.