首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

文本文件生成和读取处理出错!进来帮忙看一下是咋回事

2011-12-30 
文本文件生成和读取处理出错!进来帮忙看一下是怎么回事?PPC2003系统上的程序通过DATASET返回数据,然后把DA

文本文件生成和读取处理出错!进来帮忙看一下是怎么回事?
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也使用那种编码。
个人估计可能和网页编码一个道理。

热点排行