2013-03-25 111 views
0

我有一個奇怪的問題,人們會認爲很容易解決。基本上我創建一個字符串是這樣的: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在看到它們時會嘔吐。

謝謝!

+0

爲什麼你需要新的線? – EJC 2013-03-25 21:52:07

+4

現在在相應的job_no字段中輸入'0;從OIC_TRACK_TEMP中刪除;' :) – 2013-03-25 21:52:10

+0

難道你不能像''「'一樣將它附加在一起嗎?也同意,在生產應用程序中這是一件非常可怕的事情。 – EJC 2013-03-25 21:54:14

回答

2

以我的經驗,SQL引擎看都\r\n爲換行符,所以用Environment.Newline包括他們的時候,或在Windows,\r\n,你得到兩個。

2

嘗試在您的sql查詢中使用\ n而不是\ r \ n。

0

您可以用最終字符串中的RegEx替換加倍的回車符,或者在添加查詢之前刪除它。但是,如果你總是有他們 - 只是刪除(不添加)+環境 NewLine