读书人

文本文件生成和读取处理出错!进来帮忙

发布时间: 2011-12-30 23:30:45 作者: rapoo

文本文件生成和读取处理出错!进来帮忙看一下是怎么回事?
PPC2003系统上的程序通过DATASET返回数据,然后把DATATABLE里的数据取出来生成文本,字段以CHA(9)分隔,但是PDA在读取生成文件的时候会出错,拷贝到PC上又看不到什么问题...
如果我用BCP生成的文本文件,读取又不会出错,,谁能给我检查一下,,,

以下是代码

PDA上面生成的文本数据代码是:
Dim sw As StreamWriter
sw = New StreamWriter(g_configdir + filename + g_hzm)
For j = 0 To datatable.Rows.Count - 1 \\逐行读取数据
data = datatable.Rows(j).Item(0).ToString + Chr(9) + datatable.Rows(j).Item(1).ToString + Chr(9) + datatable.Rows(j).Item(2).ToString
sw.WriteLine(data)
Next
sw.Close()


读文本的代码是:
Dim mysr As StreamReader
Try
mysr = New StreamReader(filepath, System.Text.Encoding.Default)
Catch ex As Exception
MsgBox( "打开文件出错! ")
Exit Function
End Try
WHILE(不是文件末尾)

str = mysr.ReadLine //读一行处理一行
If str = " " Then
Exit Function
End If
Dim i As Integer = 0
Dim len As Integer = str.Length
Dim str2() As Char = str + " "
While (str2(i) <> chr(9)And i < len)
dm = dm + str2(i)


i = i + 1
End While
i = i + 1
While (str2(i) <> chr(9)And i < len)
mc = mc + str2(i)
i = i + 1
End While //调试到这个地方就会出错
END WHILE

Catch ex As Exception
MsgBox( "读 " + g_hzm + "文件出错! ")

End Try


我用BCP生成的代码:

bcp "SELECT dm,mc, ' ' as zjm FROM cc_jy.dbo.ck_gzz " queryout "MCfh_t_BZ.csv " -c -q -S "192.168.1.180 " -U "sa " -P " "

我PDA从数据库查询的SQL语句:

SELECT isnull(dm, ' '),isnull(mc, ' '), ' ' as zjm FROM ck_gzz




[解决办法]
比较一下生成的文本文件有什么区别,估计是格式的问题
[解决办法]
编码问题。
建议使用一种编码。你看一下pda 用的什么编码。然后让你bcp也使用那种编码。
个人估计可能和网页编码一个道理。

读书人网 >VB Dotnet

热点推荐