【问题标题】:Looping though datatable and save result in different datatable循环遍历数据表并将结果保存在不同的数据表中
【发布时间】:2018-07-06 03:52:33
【问题描述】:

如何循环遍历数据表并将结果保存在不同的数据表中

我正在使用 vb asp.net

下面我有 2 个数据表和结果

Dim NewDtatTable1 As DataTable = getResults()
Dim NewDtatTable2 As DataTable = NewDtatTable1 

NewDtatTable1 结果:

|------------|--------|--------|
| myLocation | myName | date   |
|------------|--------|--------|
| New york   | name1  | 1/1/12 |
| Boston     | name2  | 1/1/13 |
| New york   | name3  | 1/1/14 |
| New york   | name4  | 1/1/15 |
| Boston     | name5  | 1/1/16 |
|------------|--------|--------|

我想遍历数据表名称 NewDtatTable1,如果 myLocation 等于“纽约”,我想将该行添加到新数据表 NewDtatTable2

For Each row As DataRow In NewDtatTable21.Rows
        If (String.Compare(row.Item("myLocation").ToUpper(), "NEW YORK", True) = 0) 
        Dim R As DataRow = NewDtatTable21.NewRow
        NewDtatTable.Rows.Add(NewDtatTable1 .Rows.Item(row))
    End If
End If

我希望 NewDtatTable2 结果是这样的:

|------------|--------|--------|
| myLocation | myName | date   |
|------------|--------|--------|
| New york   | name1  | 1/1/12 |
| New york   | name3  | 1/1/14 |
| New york   | name4  | 1/1/15 |
|------------|--------|--------|

【问题讨论】:

标签: asp.net vb.net


【解决方案1】:

您正在设置NewDtatTable2 = NewDtatTable1 而不是克隆表的结构。所以你可以做这样的事情来复制行值而不是复制行引用。

Dim NewDtatTable1 As DataTable = getResults()
Dim NewDtatTable2 As DataTable = NewDtatTable1.Clone()

For Each row As DataRow In NewDtatTable1.Rows
    If (String.Equals(row.Item("myLocation"), "New York", StringComparison.CurrentCultureIgnoreCase)) 
        NewDtatTable2.Rows.Add(row.ItemArray)
    End If
End For

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 2018-10-19
    • 2020-03-25
    • 2012-08-25
    • 2016-10-14
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多