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