2014-12-03 75 views
0

假設我有兩個數據表 - DT_A和DT_BVB:將Datatable分配給另一個DataTable而不導入記錄。

DT_A有3列 - 編號,姓名和電話 DT_A有幾條記錄,如(1, '雪莉', '01523652452'),...

現在我分配到DT_A DT_B這樣

DT_B = DT_A

DT_B將獲得的所有列的格式,並記錄爲好。我知道我可以在分配後清除記錄,但我想知道是否還有其他更好的方式來獲取沒有記錄的列格式。

回答

1

你應該只能夠改變該行:

DT_B = DT_A.Clone 

http://msdn.microsoft.com/en-us/library/system.data.datatable.clone(v=vs.110).aspx


(一些代碼來演示)

Dim dtA As New DataTable 
    Dim dtB As New DataTable 

    dtA.Columns.Add(New DataColumn("Index")) 
    dtA.Columns.Add(New DataColumn("Name")) 
    dtA.Columns.Add(New DataColumn("Number")) 

    Debug.WriteLine("DATATABLE A COLUMNS") 
    Debug.WriteLine(dtA.Columns(0).ColumnName) 
    Debug.WriteLine(dtA.Columns(1).ColumnName) 
    Debug.WriteLine(dtA.Columns(2).ColumnName) 

    dtA.Rows.Add({"1", "Sherry", "01523652452"}) 
    dtA.Rows.Add({"2", "Bob", "0937948573"}) 

    Debug.WriteLine("DATATABLE A RECORDS") 
    For Each row As DataRow In dtA.Rows 
     Debug.WriteLine(row(0) & " " & row(1) & " " & row(2)) 
    Next 

    dtB = dtA.Clone 

    Debug.WriteLine("DATATABLE B COLUMNS") 
    Debug.WriteLine(dtB.Columns(0).ColumnName) 
    Debug.WriteLine(dtB.Columns(1).ColumnName) 
    Debug.WriteLine(dtB.Columns(2).ColumnName) 

    Debug.WriteLine("DATATABLE B RECORDS") 
    For Each row As DataRow In dtB.Rows 
     Debug.WriteLine(row(0) & " " & row(1) & " " & row(2)) 
    Next 

給我這個輸出:

DATATABLE A柱 指數 名稱 編號 DATATABLE A記錄 1雪利酒01523652452 2鮑勃0937948573 DATATABLE B柱 指數 名稱 編號 DATATABLE乙RECORDS

相關問題