**below is Textfile**
1010 IBFZEBMSKU28NOV16APTKS42490814
1015 APT55KUAPTKSS28NOV1628NOV1615.05.0016.05.00IRAPTMB254974DKUKU2297/72292700631550063155003 KUWAIT AIRWAYS
101F 01ALOTAIBI/FAHADMR
1500 CC 01CCVI4439 AIBM6
1502 CC 01CCM SFP VI4439950000067487
1502 CC 01CEM SFP 0418
1502 CC 01CDO SFP 000
1502 CC 01PVO SCC KWD12
1510 LKR9800
1800 LKR9800
5030 31OCT16SYSVNKU0816LEID-0EEE99
7105 MKUWAIT AIRWAYS
1010 BWNALJMSKU28NOV16APTKS42490814
每行指的是sql中的单独表。 我需要将每一行导入表格。 我在将“1502”行导入到一个表时遇到了麻烦。下面是我的代码。我在循环语句中需要帮助。
IFReader.SetFieldWidths(5, 14, 2, 6, 6, 0)
Dim fields6 As String() = IFReader.ReadFields()
For Each f6 In fields6
If Not (IsNothing(fields6(0) = "1502")) Then
cmd6.Parameters("@RecordType").Value = fields6(0)
cmd6.Parameters("@Primary_Form_Payment").Value = fields6(1)
cmd6.Parameters("@FOP_SubItem_No").Value = fields6(2)
cmd6.Parameters("@FOP_SubItem_Code").Value = fields6(3)
cmd6.Parameters("@FOP_SubItem_Code1").Value = fields6(4)
cmd6.Parameters("@UnknownText").Value = fields6(5)
cmd6.ExecuteNonQuery()
End If
Next
答案 0 :(得分:0)
我找到了问题的解决方案。我使用 streamreader 而不是textfieldparser。所以现在我从文本文件中获得行 1502 的所有值
Dim fs As New FileStream(txtPath, FileMode.Open, FileAccess.Read)
Dim sr As New StreamReader(fs)
sr.BaseStream.Seek(0, SeekOrigin.Begin)
While sr.Peek() > -1
str = sr.ReadLine
Dim splitOut As String() = str.Split(" ")
If splitOut(0) = "1502" Then
ppay = ""
fopno1 = ""
fopcode = ""
fopcode1 = ""
untxt = ""
ppay = str.Substring(5, 14)
fopno1 = str.Substring(19, 2)
fopcode = str.Substring(21, 6)
fopcode1 = str.Substring(27, 6)
untxt = str.Substring(33, str.Length - 33)
Dim sql6 As String = "INSERT INTO MCO_1502 VALUES(@Primary_Form_Payment,@FOP_SubItem_No,@FOP_SubItem_Code,@FOP_SubItem_Code1,@UnknownText)"
Dim cmd6 As New SqlCommand(sql6, con)
cmd6.Parameters.AddWithValue("@Primary_Form_Payment", ppay)
cmd6.Parameters.AddWithValue("@FOP_SubItem_No", fopno1)
cmd6.Parameters.AddWithValue("@FOP_SubItem_Code", fopcode)
cmd6.Parameters.AddWithValue("@FOP_SubItem_Code1", fopcode1)
cmd6.Parameters.AddWithValue("@UnknownText", untxt)
cmd6.ExecuteNonQuery()
End If
End While