TextFieldParser进入DataTable

时间:2014-06-02 04:05:52

标签: database vb.net datatable textfieldparser

我有一个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在一次写入中包含所有解析器数据和新列数据?

1 个答案:

答案 0 :(得分: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)