繁体   English   中英

C#StreamWriter无法正确编写

[英]C# StreamWriter not writing correctly

我从存储过程中提取数据并将每一列写入文件。 我要从中提取的一列是备注字段,最多可包含4096个字符和硬回车。 我已经更新查询以删除制表符和返回,这似乎可行。 当我将查询结果导出到文件时,备忘录列全都位于一行上。 但是,当我使用流写入器将数据写入文件时,它将数据分成多行。 非常感谢您的任何帮助。

C#代码:

    StreamWriter sw = new StreamWriter("C:\\Temp\\Test.txt");
    DataSet ds = GetData(); //call sproc, return data
    foreach(DataRow dr in ds) {
       sw.WriteLine(dr["Column1"] + "|" + dr["MemoColumn"] + "|" + dr["Column3"]);
    }

SQL查询:

    SELECT replace(replace(replace(isnull(MEMOCOLUMN, ''), CHAR(13), ' '), CHAR(10), ''), CHAR(9), '')
    FROM TABLE1

进行以下操作应该可行,可能会有错别字,但是该过程应该可以正常运行。

    using (StreamWriter sw = new StreamWriter("C:\\Temp\\Test.txt")) 
    {
     DataSet ds = GetData(); //call sproc, return data
     foreach(DataRow dr in ds.Rows) 
     {
       var column = string.IsNullOrEmpty((dr["MemoColumn"].ToString()) ? string.Empty : 
                    dr["MemoColumn"].ToString().Replace(Environment.NewLine, string.Empty);

       sw.WriteLine("{0}|{1}|{2}", dr["Column1"], column, dr["Column3"]);
     }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM