2011-10-14 27 views
0

我連接的Java到Oracle數據庫中,一切都將會非常好,但存在如下問題:字符串新線(試圖到Java連接到Oracle DB)

當我寫一個內整個字符串這工作好夫婦報價:

String command = 
    "SELECT FIRST_NAME, PHONE_NUMBER, SALARY FROM EMPLOYEES WHERE SALARY < 5000"; 

但是作爲一個以上不看精心設計的代碼,我想分割線:

String command = new StringBuilder(
    "SELECT FIRST_NAME, PHONE_NUMBER, SALARY\n") 
      .append("FROM EMPLOYEES\n") 
      .append("WHERE SALARY < 5000;") 
      .toString(); 

而與此同時,我試圖加號(+),而不是StringBuild呃,但是又搞砸了......

請幫忙((

+0

使用StringBuilder這樣是一個很大的效率低下,直接編寫字符串字符串或使用'+' –

+0

您不需要字符串生成器...您的第一行是正確的方式來處理字符串文字。 – CoolBeans

+0

爲什麼查詢中有換行符? – Jagat

回答

0

使用StringBuilder.append()爲恆定值工作效率不高不是直接寫常數:

String command = 
    "SELECT FIRST_NAME, " + 
    "  PHONE_NUMBER, \n " + 
    "  SALARY \n " + 
    "FROM EMPLOYEES \n" + 
    "WHERE SALARY < 5000"; 
+0

爲什麼在查詢中換行符? – Jagat

+0

這就是Emil要求的(他們不以任何方式改變SQL的結果,也不需要......) –

0

達累斯薩拉姆,

爲什麼要使用它不受SQL引擎瞭解換行符[\ N]?

應該沒有它

2
String command = new StringBuilder(
    "SELECT FIRST_NAME, PHONE_NUMBER, SALARY ") 
      .append("FROM EMPLOYEES ") 
      .append("WHERE SALARY < 5000") 
      .toString(); 
+0

沒有解決。 – Emil

+0

從查詢結尾刪除該分號。 – Jagat

+0

謝謝Jagat!現在完成了! – Emil