2011-10-14 2 views
0

Je me connecte Java à la base de données Oracle, tout est va assez bien, sauf le problème suivant:nouvelle ligne String (essayez de vous connecter Java à Oracle DB)

Cela fonctionne bien quand j'écris toute la chaîne au sein d'un quelques citations:

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

mais comme celui ci-dessus ne regarde pas le code bien conçu que je voulais diviser les lignes:

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

Et pendant ce temps, j'ai essayé plus (+) au lieu de ChaîneConstruit er, mais encore une fois foiré ...

S'il vous plaît aider ((

+0

Utilisation du StringBuilder comme celui-ci est beaucoup plus inefficace que l'écriture directe du littéral String ou en utilisant '+' –

+0

Vous n'avez pas besoin d'un constructeur de chaîne pour cela ... votre première ligne est la bonne façon de le faire pour les littéraux de chaîne. – CoolBeans

+0

Pourquoi y a-t-il des retours à la ligne dans la requête? – Jagat

Répondre

0

En utilisant StringBuilder.append() pour une valeur constante est moins efficace que d'écrire la constante directement:

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

Pourquoi les nouvelles lignes dans la requête? – Jagat

+0

C'est ce que demandait Emil (ils ne modifient en rien le résultat du SQL et ne sont pas nécessaires ...) –

0

Salaam,

Pourquoi utiliser saut de ligne [\ n] qui ne sont pas compris par les moteurs sql?

Il devrait fonctionner sans elle

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

ne fonctionnait pas. – Emil

+0

Supprimez ce point-virgule à la fin de la requête. – Jagat

+0

Merci Jagat! C'est fait maintenant! – Emil

Questions connexes