1

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

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'
.
.

我怎样才能摆脱那里的双回车?甲骨文看到它们就会呕吐。

谢谢!

4

3 回答 3

2

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

于 2013-03-25T21:54:04.127 回答
2

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

于 2013-03-25T21:54:12.420 回答
0

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

于 2013-03-25T21:54:34.387 回答