Dim filename2 As String = Path.GetFullPath(FileUploadControl.PostedFile.FileName)
Dim streamReader As IO.StreamReader = New IO.StreamReader(filename2)
Dim dt As DataTable = New DataTable
Dim line As String
Dim i As Integer
Using sr As StreamReader = New StreamReader(filename2)
line = sr.ReadLine()
While (line IsNot Nothing)
Dim parts() As String = line.Split("|")
dt.Rows.Add()
For i = 0 To parts.Length
dt.Columns.Add()
dt.Rows(0)(i) = parts(i) ' Errors บรรทัดนี้คับ
GrvScanData.DataSource = dt
GrvScanData.DataBind()
Next
End While
sr.Close()
End Using
โดยประกาศค่าที่ใช้ไว้หมดแล้ว
แต่โปรแกรมขึ้น Errors ว่า "index was outside the bounds of the array" ในบรรทัดที่ว่า "dt.Rows(0)(i) = parts(i)" ไม่ทราบว่าเป็นเพราะอะไรแล้วแก้ไขอย่างไรครับ
ใครทราบโปรดแนะนำด้วยคับ
Tag : ASP, VBScript, Web (ASP.NET), VB.NET, VS 2008 (.NET 3.x)
Dim filename2 As String = Path.GetFullPath(FileUploadControl.PostedFile.FileName)
Dim streamReader As IO.StreamReader = New IO.StreamReader(filename2)
Dim dt As DataTable = New DataTable
Dim line As String
Dim i As Integer
Using sr As StreamReader = New StreamReader(filename2)
line = sr.ReadLine()
While (line IsNot Nothing)
Dim parts() As String = line.Split("|")
dt.Rows.Add()
For i = 0 To parts.Length - 1 'ใส่เพิ่มไปแล้วนะคับแต่ยังไม่มีอะไรเกิดขึ้นเลยคับ
dt.Columns.Add()
dt.Rows(0)(i) = parts(i)
GrvScanData.DataSource = dt
GrvScanData.DataBind()
Next
End While
sr.Close()
End Using
ที่ค้างเพราะมัน loop เฉพาะ
USER ID|PART NO|QTY|SUPP CD|SERIAL|LABLE DATE|SCAN DATE Code (VB.NET)
While (line IsNot Nothing)
Dim parts() As String = line.Split("|")
dt.Rows.Add()
For i = 0 To parts.Length - 1
MessageBox.Show(parts(i))'เพิ่มมาเพื่อเช็ค
dt.Columns.Add()
dt.Rows(0)(i) = parts(i) ' Errors บรรทัดนี้คับ
GrvScanData.DataSource = dt
' GrvScanData.DataBind()
Next
End While
Sub Run()
Dim path As String = "c:\1311.txt"
Dim readText() As String = file.ReadAllLines(path)
Dim dt As DataTable = New DataTable
For Each line As String In readText
Dim parts() As String = line.Split("|")
For i As Integer = 0 To parts.Length - 1
MessageBox.Show(parts(i))'จะเอาไปทำไรก็ได้ครับ
Next
Next
End Sub