环境:
一个简单的文本文件,文件格式为
20060928, A2, 23:40, 00001, 20060928, 23:50
20060928, A2, 23:40, 00001, 20060928, 23:50
20060928, A2, 23:40, 00001, 20060928, 23:50目的:
读取文件内数据,并insert到sql数据库设想方法一:
不断读取文件流,在遇到<,>时,把前面的字符保存到变量,在遇到<换行号>时,把前面的6个变量保存到数据库
此方法比较麻烦设想方法二:
有无方便的类可以完成此任务?
------------------------------------------------------------------请有做过类似功能的高手指点,谢谢.
一个简单的文本文件,文件格式为
20060928, A2, 23:40, 00001, 20060928, 23:50
20060928, A2, 23:40, 00001, 20060928, 23:50
20060928, A2, 23:40, 00001, 20060928, 23:50目的:
读取文件内数据,并insert到sql数据库设想方法一:
不断读取文件流,在遇到<,>时,把前面的字符保存到变量,在遇到<换行号>时,把前面的6个变量保存到数据库
此方法比较麻烦设想方法二:
有无方便的类可以完成此任务?
------------------------------------------------------------------请有做过类似功能的高手指点,谢谢.
是選對某一類文本文件設計一個模板,然後設一些規則
然後每讀取XXX行就insert一次數據庫.
這樣內存銷費的比較少.
ReadLine();
Split(',');
insert();
..
不过这样效率挺低的...
Dim ch As String
Dim StrTmp As String
Dim FirstPos As Integer
Dim LastPos As Integer Dim i As Integer Dim k As Integer
FirstPos = 1
For i = 1 To Len(s)
StrTmp = Mid(s, i, 1)
If StrTmp = vbTab Then
LastPos = i
ch = Mid(s, FirstPos, (LastPos - FirstPos))
strtxt(k) = ch
k = k + 1
End If
If StrTmp = vbCr Then
k = 0
LastPos = i
ch = Mid(s, FirstPos, (LastPos - FirstPos))
If Len(ch) > 1 Then ch = Right(ch, 1)
strtxt(5) = ch
RecSave(strtxt(0), strtxt(1), strtxt(2), strtxt(3), strtxt(4), strtxt(5))
End If
If FirstPos <> 0 Then
FirstPos = LastPos
Else
FirstPos = 1
End If Next