[英]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.