1

簡単に解決できると思われる奇妙な問題があります。基本的に、次のような文字列を作成しています。

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

sQuery は更新ステートメントであり、results クエリは結果の内訳を示しています。これが結果クエリです。更新クエリも同様の形式です。

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 クエリで \r\n の代わりに \n を使用してみてください。

于 2013-03-25T21:54:12.420 に答える
0

最終的な文字列で二重のキャリッジ リターンを RegEx に置き換えるか、クエリを追加する前に削除することができます。ただし、常にそれらを持っている場合-削除するだけです(追加しないでください)+ Environment NewLine

于 2013-03-25T21:54:34.387 に答える