0

我正在从存储过程中提取数据并将每一列写入文件。我从中提取的一列是一个备忘录字段,最多允许 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"]);
    }

查询:

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

1 回答 1

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"]);
     }
    }
于 2013-05-21T15:25:46.000 回答