Instructions plusieurs lignes [Résolu]

Signaler
Messages postés
8
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
4 janvier 2008
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Hello,
Quel est le caractère à utiliser pour écrire des instructions sur plusieurs lignes??

merci d'avance!

5 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
Hello,

En gros, tu as deux façons de le faire

Celle intuitive mais mauvaise :
string sql = "Select * "+ 
         //Si tu veux que le string lui-même soit sur plusieurs lignes, tu peux encore faire + Environement.NewLine
        "FROM tableXXX";

Et une moins intuitive mais meilleure :

StringBuilder sb = new StringBuilder();
sb.AppendLine("Select * ");
sb.AppendLine("FROM tableXXX");
//Et pour récupérer ta requête , tu fais sb.ToString()

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Salut,

A un petit détail pret : si on parle bien de chaines litérales, l'utilisation de StringBuilder n'est pas nécessaire ici, et serait même déconseillé, car les morceaux seront assemblés à la compilation.

Pour
string sql = "Select * " + 
        "FROM tableXXX";
Le code compilé contiendra
string sql = "Select * FROM tableXXX";

Toujours en parlant de chaines litérales, si le but est d'avoir les retours à la ligne dans la chaine, tu peux utiliser cette syntaxe :
        string sql =
@"Select *
FROM tableXXX";
qui donnera
string sql = "Select * \r\nFROM tableXXX";

Seulement attention, cette syntaxe provoquera la conservation de tout caractère situé dans @"", ce qui naturellement inclus les tab/espaces d'indentation.

(Enfin, dans tous les cas le mieux est encore de ne pas mettre les requêtes dans le code.)

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
Hello,

en c#, pas de caractère spécial, contrairement au VB.
Un retour à la ligne suffit.
Le compilateur sait qu'il s'agit de la même instruction

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
427
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
29 janvier 2008
1
Salut, en c# le caractere qui définit ta fin de ligne est le = >   ; < =
tant que tu ne le met pas tu peux indenter ton code à ta guise ... (tout en respectant un minimum les conventions de nomages afin que cela reste lisible ;) )

++

-------------------------------------------http://quoideneufaujourdhui.spaces.live.com
Messages postés
8
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
4 janvier 2008
1
j'aurais du préciser:
comment "couper" une chaine de texte, typiquement une instruction SQL, sur plusieurs lignes?

merci!