C#:双回车返回当字符串只有一个输出
问题描述:
我有一个奇怪的问题,人们会认为很容易解决。基本上我创建一个字符串是这样的:C#:双回车返回当字符串只有一个输出
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'
.
.
我怎样才能摆脱双马车回到那里? Oracle在看到它们时会呕吐。
谢谢!
答
以我的经验,SQL引擎看都\r
和\n
为换行符,所以用Environment.Newline包括他们的时候,或在Windows,\r\n
,你得到两个。
答
尝试在您的sql查询中使用\ n而不是\ r \ n。
答
您可以用最终字符串中的RegEx替换加倍的回车符,或者在添加查询之前删除它。但是,如果你总是有他们 - 只是删除(不添加)+环境 NewLine
为什么你需要新的线? – EJC 2013-03-25 21:52:07
现在在相应的job_no字段中输入'0;从OIC_TRACK_TEMP中删除;' :) – 2013-03-25 21:52:10
难道你不能像''“'一样将它附加在一起吗?也同意,在生产应用程序中这是一件非常可怕的事情。 – EJC 2013-03-25 21:54:14