IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Enlever les espace requête sql


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2010
    Messages : 69
    Points : 35
    Points
    35
    Par défaut Enlever les espace requête sql
    Bonjour,

    Je me demandai s'il y avait un moyen de dire a c# de par prendre les espace avant et apres dans les requête sql, car quand je recupère des donné qui on été déclarer char j'ai toujours des espaces a la fin et j'aimerai les enlevés d'un autre manière que de faire des trim a chaque fois que j'ai des donnés récupéré.

    merci de vos reponse future en esperant avoir été assez claire.

  2. #2
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Citation Envoyé par marcolo21 Voir le message
    Bonjour,

    Je me demandai s'il y avait un moyen de dire a c# de par prendre les espace avant et apres dans les requête sql, car quand je recupère des donné qui on été déclarer char j'ai toujours des espaces a la fin et j'aimerai les enlevés d'un autre manière que de faire des trim a chaque fois que j'ai des donnés récupéré.

    merci de vos reponse future en esperant avoir été assez claire.
    plus de detaills SlVP

    tu peut faire ca dans votre classe d'acces aux bases de donnees..

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2010
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Quand tu dit dans l'accès a la base de donné tu doit vouloir dire dans la connectionstring ?

    Si oui c'est exactement ce que je recherche, je cherche la paramètre a utilisé dans la connection string pour qu'il enlève les espaces.

    Pour l'instant je fait des trim a chaque variable ou j'affècte des donnés qui on été récupérer.

    merci

  4. #4
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Si oui c'est exactement ce que je recherche, je cherche la paramètre a utilisé dans la connection string pour qu'il enlève les espaces.
    si il s'agit de la la connexion string tu peut l'ajouter a un fichier .config c plus pratique.

    si il s'agit de vos requête je pense pas quel il y'a de problème dû aux espaces puisque tt les langages les ignorent seuf au cas persistant(la cas au l'espace est considère comme valeur nn vide )...

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    bon visiblement ici c'est pas trop la meme longueur d'onde.

    faut dire que les explications sont pas très compréhensible.

    il n'y a pas de problème de connection String...

    son problème c'est que dans certains champs dans ses tables, il a utiliser des char avec une taille définie plutôt que des varchar, et forcément quand il fait une requête il récupère dans sa cellule/string devinez quoi ?
    une chaine de caractères avec des ESPACES de PADDING !

    azstar ce comportement est tout à fait normal. Si tu ne veux pas qu'il y ai ce comportement, change ton modèle de données pour des nvarchar au lieu des char/nchar... Là C# n'y est pour rien c'est la base de données qui lui renvoie une chaine avec padding.
    Donc soit tu change le modèle de données et remplace les char par des varchar, soit tu continue avec les trim.

    il n'y a pas de méthode pour dire à C# d'éliminer de par lui même les caractères de padding, dans la mesure où il récupère les chaines déjà remplies (padding=remplissage) de la part de SQL, tu peux toutefois tout simplement modifier tes requêtes SQL et faire des CAST dans les requêtes de façon à convertir les éléments en NVARCHAR au moment du SELECT, comme ca c'est bien SQL qui virera les padding space et non C# qui n'y est pour rien.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2010
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Vraiment désoler de ne pas avoir été assé clair.

    C'est seulment que j'utilisai powerbuilder pour les connection sql et que justement dans le connection string il y avai un paramètre appeler trimspace qui enlève les espace automatiquement quand il récupère les donné.

    C'est pourquoi je me demandais s'il existait la même chose mais je crois que je n'ai pas été assez claire dans mes explications.

    merci a vous 2 pour vos reponse et la reponse de cinemania est exactement ce que je cherchai.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Si tu utilises SQL server comme SGBD utilise plutôt le type nvarchar, sinon tu peux utiliser la méthod Trim() de la classe string pour supprimer les espaces.
    Dans ta couche d'accès aux données une fois la DataTable charger tu la parcours et tout les champs de type string tu leur fait un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     maRow[monChamp] = maRow[monChamp].ToString().Trim();
    Mais ca reste une solution assez lourde, le mieu est d'utiliser le type nvarchar.

    Bonne continuation a+ ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/10/2005, 14h38
  2. Enlever les espaces redondants....
    Par BFH dans le forum C
    Réponses: 3
    Dernier message: 24/10/2005, 18h00
  3. enlever les espaces
    Par moimoi_1 dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2005, 09h57
  4. Enlever les espaces inutiles d'un AnsiString
    Par jamesb dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/01/2005, 12h40
  5. Enlever les espaces
    Par Claythest dans le forum Langage
    Réponses: 6
    Dernier message: 03/06/2003, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo