C#:Double Carriage Return当String只有一个时输出

时间:2013-03-25 21:49:53

标签: c# oracle sqlplus carriage-return

我有一个奇怪的问题,人们会认为很容易解决。基本上我正在创建一个这样的字符串:

string temp = "SET pagesize 50000;" + Environment.NewLine + "SET linesize 120;" + Environment.NewLine + sQuery.Text + Environment.NewLine + resultsQuery;

sQuery是一个更新语句,reslults查询显示结果的细分。这是结果查询。更新查询的格式相似。

resultsQuery = "SELECT project_no, contact_date, SUM(CASE WHEN control_group = 'N' THEN 1 ELSE 0 END) \"CG = N\", SUM(CASE WHEN control_group = 'Y' THEN 1 ELSE 0 END) \"CG = Y\"" + "\r\n" +
                        "FROM OIC_TRACK_TEMP" + "\r\n" +
                        "WHERE job_no = " + tbJobNo.Text.Trim() + "\r\n" +
                        "AND cpm_customer_code = '" + lbClientID.Text.ToUpper() + "'" + "\r\n" +
                        "GROUP BY project_no, contact_date" + "\r\n" +
                        "ORDER BY contact_date, project_no;";

然后我将查询写入命令行:

updatessh.Write(temp);

命令行中的输出如下所示:

SET pagesize 50000;

SET linesize 120;

UPDATE TABLE_NAME

SET PROJECT_NO = 'test'
.
.

如何摆脱那里的双重回车?甲骨文在看到它们时会呕吐。

谢谢!

3 个答案:

答案 0 :(得分:2)

根据我的经验,SQL引擎将\r\n视为换行符,因此当将它们与Environment.Newline包含在一起时,或者在Windows中\r\n时,您将获得两者那些。

答案 1 :(得分:2)

在sql查询中尝试使用\ n而不是\ r \ n。

答案 2 :(得分:0)

您可以在最终字符串中使用RegEx替换doubled回车符,或者在添加查询之前将其删除。但如果你总是拥有它们 - 只需删除(不添加)+环境 换行