Bagikan melalui


Menambahkan Kolom ke DataTable

DataTable berisi kumpulan DataColumn objek yang dirujuk oleh properti Kolom tabel. Kumpulan kolom ini, bersama dengan batasan apa pun, menentukan skema, atau struktur tabel.

Anda membuat objek DataColumn dalam tabel dengan menggunakan konstruktor DataColumn , atau dengan memanggil metode Tambahkan properti Kolom tabel, yang merupakan DataColumnCollection. Metode Tambahkan menerima argumen ColumnName, DataType, dan Expression opsional dan membuat DataColumn baru sebagai anggota koleksi. Ini juga menerima objek DataColumn yang ada dan menambahkannya ke koleksi, dan mengembalikan referensi ke DataColumn yang ditambahkan jika diminta. Karena objek DataTable tidak spesifik untuk sumber data apa pun, jenis .NET Framework digunakan saat menentukan jenis data DataColumn.

Contoh berikut menambahkan empat kolom ke DataTable.

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));  

Dalam contoh, perhatikan bahwa properti untuk kolom CustID diatur untuk tidak mengizinkan nilai DBNull dan membatasi nilai menjadi unik. Namun, jika Anda menentukan kolom CustID sebagai kolom kunci utama tabel, properti AllowDBNull akan secara otomatis diatur ke false dan properti Unik akan secara otomatis diatur ke true. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.

Perhatian

Jika nama kolom tidak disediakan untuk kolom, kolom diberi nama default tambahan KolomN, dimulai dengan "Column1", saat ditambahkan ke DataColumnCollection. Kami menyarankan agar Anda menghindari konvensi penamaan "KolomN" saat Anda memberikan nama kolom, karena nama yang Anda berikan mungkin bertentangan dengan nama kolom default yang ada di DataColumnCollection. Jika nama yang diberikan sudah ada, pengecualian akan dihasilkan.

Jika Anda menggunakan XElement sebagai DataType dari DataColumn dalam DataTable, serialisasi XML tidak akan berfungsi saat Anda membaca dalam data. Misalnya, jika Anda menulis XmlDocument dengan menggunakan metode DataTable.WriteXml, setelah serialisasi ke XML, ada simpul induk tambahan di XElement. Untuk mengatasi masalah ini, gunakan tipe SqlXml daripada XElement. ReadXml dan WriteXml bekerja dengan benar dengan SqlXml.

Lihat juga