0

我有一个 csv 文件读入 TextFieldParser。在将数据行放入 DataTable 之前,我想添加几个不在 csv 中的额外字段。

此行将所有 csv 数据写入表中 ok -

        tempTable.Rows.Add(parser.ReadFields())

如果我做这样的事情 -

        tempTable.Rows.Add(parser.ReadFields(), stationID, sMaxSpeedDecimal, sqlFormattedDate)

Row.Add 似乎将所有 Parser 数据视为一个字段,然后附加新列。基本上解析器数据会丢失到数据库中。如何添加其他列,以便 tempTable.Rows.Add 在一次写入中包含所有解析器数据和新列数据?

4

1 回答 1

2

您必须传递一个包含所有字段值的数组,或者单独传递所有字段值。因为您要传递多个参数,所以假定为后者,并且将数组视为一个字段值。您必须分解数组并单独传递每个字段,例如

Dim fields = parser.ReadFields()

tempTable.Rows.Add(fields(0), fields(1), stationID, sMaxSpeedDecimal, sqlFormattedDate)

或者将额外的字段值与原始数组组合以创建一个新数组,例如

Dim fields = parser.ReadFields().Concat({stationID, sMaxSpeedDecimal, sqlFormattedDate})

tempTable.Rows.Add(fields)
于 2014-06-02T04:22:40.960 回答