有没有办法在仍处于当前行的情况下提前阅读csv的下一行?我需要向数据库中插入一些信息,但是我需要前面一行中的值...
Using MyReader As New
Microsoft.VisualBasic.FileIO.TextFieldParser("D:\TEMP\HB\" & fName.ToString)
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
currentRow = MyReader.ReadFields()
nextRow = ?????
End While
答案 0 :(得分:1)
我不知道TextFieldParser
类中的任何此类函数。
无论如何,请记住,一旦ReadFields()
进入currentRow
,文件光标就会移到下一行,因此当代码到达nextRow = ?????
指令时,文件光标已经在该行上。如果您需要在不“消耗”该行的情况下读取该行的内容,则可以使用PeekChars(n)
函数,该函数将从当前行读取“ n”个字符而无需移动光标位置,从而使行仍然可以从在ReadFields()
通话之后。