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 :

gestion des caractères spéciaux


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Points : 145
    Points
    145
    Par défaut gestion des caractères spéciaux
    Bonjour à tous,

    j'aimerai avoir + d'informations sur les caractères spéciaux comme le quote simple pour mes requêtes SQL.

    J'ai vu cela dans la faq :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name.Replace("'", "''");
    Je dois l'utiliser avant un insert, pour un select etc... ???


    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Si tu veux ajouter un element qui contient deja des guillemets simples ou doubles tu fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim data as string = "Coucou ""ca va"" oui et toi"
    Et dans ta base de donnée tu auras : Coucou "ca va" oui et toi

    Avec le guillemets simples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim data as String = "test ''avec'' des guillemets simples"
    Et dans ta base de donnée tu auras : test 'avec' des guillemets simples

    Ta requete sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim requete as String = "INSERT INTO Table (nom) VALUES ('" & data & "')"
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Points : 145
    Points
    145
    Par défaut
    Ok mais je pense surtout aux textbox.

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par FamiDoo
    Bonjour à tous,

    j'aimerai avoir + d'informations sur les caractères spéciaux comme le quote simple pour mes requêtes SQL.

    Je dois l'utiliser avant un insert, pour un select etc... ???
    C'est pas pour des requetes SQL ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Points : 145
    Points
    145
    Par défaut
    Si mais des requêtes avec notamment des textbox.text en paramètre

  6. #6
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par FamiDoo
    Si mais des requêtes avec notamment des textbox.text en paramètre
    Ok et si tu mets des guillemets dans ta texbox il se passe quoi ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Points : 145
    Points
    145
    Par défaut
    Justement, je mets des guillemets dans ma textbox, erreur javascript, pas possible de faire le insert par exemple ou sinon exception incorrect syntax.

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Le mieux est d'utiliser des paramètres avec un commande Sql, ainsi tu n'as pas de problème d'échappement de caractères et tout est plus propre et plus sûr.
    DbParameter class sur MSDN.

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Points : 145
    Points
    145
    Par défaut
    Exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                SqlCommand command7 = new SqlCommand("UPDATE CompanyUser SET CompanyUser.FirstName='" + TextBox3.Text + "', CompanyUser.SecondName='" + TextBox4.Text + "', CompanyUser.DirectPhone='" + TextBox5.Text + "', CompanyUser.MobileNumber='" + TextBox6.Text + "'  WHERE CompanyUser.UserId='" + id + "'  ", mycn);
     
     
                int affectedrows7 = command7.ExecuteNonQuery();

  10. #10
    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
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par FamiDoo
    Exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                SqlCommand command7 = new SqlCommand("UPDATE CompanyUser SET CompanyUser.FirstName='" + TextBox3.Text + "', CompanyUser.SecondName='" + TextBox4.Text + "', CompanyUser.DirectPhone='" + TextBox5.Text + "', CompanyUser.MobileNumber='" + TextBox6.Text + "'  WHERE CompanyUser.UserId='" + id + "'  ", mycn);
     
     
                int affectedrows7 = command7.ExecuteNonQuery();
    Beurk ^^
    Comme l'a dit BCmDev, ce genre de requêtes ne devrait plus exister mais devrait être remplacé par des requêtes du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SqlCommand command7 = new SqlCommand("UPDATE CompanyUser SET CompanyUser.FirstName=@FIRSTNAME, CompanyUser.SecondName=@SECONDNAME, CompanyUser.DirectPhone=@DIRECTPHONE, CompanyUser.MobileNumber=@MOBILENUMBER  WHERE CompanyUser.UserId=@ID", mycn);
    // Ensuite (de mémoire)
    command7.Parameters.Add("@FIRSTNAME", DbType.Nvarchar).Value = monTextBox.Text;
    /// pareil pour les autres paramètres
    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

  11. #11
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par SaumonAgile
    Beurk ^^
    Comme l'a dit BCmDev, ce genre de requêtes ne devrait plus exister mais devrait être remplacé par des requêtes du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SqlCommand command7 = new SqlCommand("UPDATE CompanyUser SET CompanyUser.FirstName=@FIRSTNAME, CompanyUser.SecondName=@SECONDNAME, CompanyUser.DirectPhone=@DIRECTPHONE, CompanyUser.MobileNumber=@MOBILENUMBER  WHERE CompanyUser.UserId=@ID", mycn);
    // Ensuite (de mémoire)
    command7.Parameters.Add("@FIRSTNAME", DbType.Nvarchar).Value = monTextBox.Text;
    /// pareil pour les autres paramètres
    Oui ca me rappelle des choses ce genre de requetes

    Avec le bon lien de SaumonAgile en complement pour les explications :
    http://webman.developpez.com/article...rameter/vbnet/
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  12. #12
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Points : 145
    Points
    145
    Par défaut
    Un grand merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/09/2007, 13h26
  2. [AJAX] Gestion des caractères spéciaux
    Par CrazySeb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/05/2007, 09h43
  3. [MySQL] Gestion des caractères spéciaux dans un update
    Par olivier94 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/03/2007, 17h13
  4. Gestion des caractères spéciaux (micro)
    Par MiJack dans le forum Delphi
    Réponses: 7
    Dernier message: 19/01/2007, 22h41
  5. Gestion des caractères spéciaux
    Par claralavraie dans le forum Oracle
    Réponses: 1
    Dernier message: 22/06/2006, 14h41

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