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

ASP.NET Discussion :

insérer caractères dans string


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut insérer caractères dans string
    Bonjour,

    j'ai un tout petit problème, que je n'arrive pas a corriger. Je vous explique : j'ai une textbox dans laquelle l'utilisateur va rentrer son critère de recherche, une qu'il clic sur le bouton j'analyse la recherche grâce à une requête qui vérifie les champs dans ma table. Or j'ai un champ Téléphone qui comprends des valeurs 04 67 54 67 43, et les users qui rentrent un num du style 0467546743 ne peuvent retrouver le champ puisqu'il n'y a pas d'espace entre les deux nombres.
    Donc ma question est la suivante, comment pourrais-je faire en sorte qu'il puisse rentrer 0467546743 et retrouver le champ 04 67 54 67 43.
    J'ai bien essayé avec String.Format mais c'est la galère. Si vous avez des solutions à me proposer, je suis preneur.

    Merci d'avance

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    tu fais un controle lors de la saisie du telephone pour l'avoir au format que tu souhaites.

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Dans ce genre de situation, il faut toujours stocker les données sous la forme la plus générique possible, c'est à dire sans les espaces dans ton cas.
    Ce n'est qu'à l'affichage ensuite que tu vas lui appliquer un formatage spécifique.
    Je te conseille de stocker tes numéros au format 00352661xxxxxx. Pour l'affichage, tu peux le formater en +352 xxx xxx xxx. Il est beaucoup plus facile de supprimer les espaces et de faire une comparaison avec la valeur stockée dans la base, plutôt que d'essayer d'ajouter des espaces en espérant retomber sur une valeur présente dans la base.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    ben ske tu peux faire c'est mettre des textbox n'autorisant que des chiffres et des "/" ou autre. Tu peut trouver ca en ajax dans le control toolkit.
    Ou mieux je pense qu'il doit y avoir des controles qui mettent automatiquement des "/" quand l'utilisateur frappe le clavier (tous les 2 caracteres par exemple).
    tu peux aussi ajouter des validators pour les expressions régulières par exemple (pour vérifier ([0-9]{2}[/]){4}[0-9]{2} --> du genre)

    +

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 71
    Par défaut
    Sinon, si c'est vraiment ce que tu veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            String telephone = "0399345678";
     
            for (int i = 0; i < telephone.Length; i = i + 2)
            {
                if (!telephone[i].Equals(" "))
                {
                    telephone = telephone.Substring(0, i) + " " + telephone.Substring(i);
                    i++;
                }
            }
    Maintenant, il est vrai que ça ne fait que déplacer le problème... Essaye de corriger directement dans ta base

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut
    Merci de vos réponse, je sais que les valeurs sont merdiques mais je dois faire avec puisque c'est une récup d'une autre data base.
    Je ne peux pas mettre des Validator puisque le critère ne permet pas simplement de rechercher un num de tel mais d'autres valeurs.
    Je vais essayer la solution de Sensei.f, mais si c'est trop de bricolage je modifierais directement les champs de ma table.

    Merci

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut
    Re,

    c'est bon ça fonctionne très bien avec la solution de Sensei.f.
    J'ai fait une classe téléphone que j'utilise pour la recherche sur le champ téléphone de ma table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class Telephone
    {
    	public static string FormatNumber(string critere)
    	{
            string telephone = "";
            telephone = critere;
     
            for (int i = 0; i < telephone.Length; i = i + 2)
            {
                if (!telephone[i].Equals(" "))
                {
                    telephone = telephone.Substring(0, i) + " " + telephone.Substring(i);
                    i++;
                }
            }
     
            telephone = telephone.TrimStart(" ".ToCharArray());
            return telephone;
    	}
    }
    Merci encore

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

Discussions similaires

  1. [PPT-2010] Insérer caractère dans ligne
    Par Aiacciu dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 08/10/2012, 16h32
  2. Insérer caractère dans tableau
    Par XF Destroyers dans le forum C++
    Réponses: 7
    Dernier message: 16/04/2010, 17h59
  3. Réponses: 2
    Dernier message: 17/09/2009, 10h02
  4. Suppression caractére dans String
    Par Hisander dans le forum Oracle
    Réponses: 2
    Dernier message: 22/05/2006, 11h27
  5. [String] Remplacement caractères dans une chaîne
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 4
    Dernier message: 19/07/2004, 11h15

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