我从sproc中提取数据并将每列写入文件。我从中提取的一个列是备注字段,允许最多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 Query:
SELECT replace(replace(replace(isnull(MEMOCOLUMN, ''), CHAR(13), ' '), CHAR(10), ''), CHAR(9), '')
FROM TABLE1
答案 0 :(得分:0)
以下应该有效,可能存在拼写错误,但该过程应该有效。
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"]);
}
}