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

Windows Forms Discussion :

Apostrophe lors de la saisie et problème avec insert


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien en numérisation
    Inscrit en
    Juillet 2002
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien en numérisation

    Informations forums :
    Inscription : Juillet 2002
    Messages : 338
    Points : 155
    Points
    155
    Par défaut Apostrophe lors de la saisie et problème avec insert
    Bonjour,

    J'ai un RichTextBox pour saisir la description du problème et lorsque je fais un INSERT j'enregistre ce qui est écrit dedans.

    Dans la langue française il y a beaucoup d'apostrophe " ' " et dnas une commande INSERT comme UPDATE ben ca cause de gros probleme!

    Je sais qu'il faut faire un double apostrophe pour que ca passe. Sinon ça plante.

    Le problème est que c'est laid en titi d'ajouter au clavier avec le keypress un double apostrophe dans le texte.... Et le client ne veut pas de ça! Il veut que l'orthographe soit normal.

    Je me demandais y avait une commande en VB.Net pour faire ceci en mode invisible ou dois-je programmer une fonction qui devra passer chaque caractère et lorsqu'il verra un " ' " il devra en rajouter une autre " ' " ????

    Merci

    AngelEvil!

  2. #2
    Membre habitué Avatar de Epica84
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 164
    Points : 188
    Points
    188
    Par défaut
    Replace(ma chaine de connexion, se qui faut remplacer, par quoi remplacer)
    Marche mais apparament vous ne voulez pas de sa ...
    Je vous conseil donc d'envoyer dans la base de données avec l'objet, se qui permet 2 avantages voir plus.
    -Votre requête n'est pas écrite en dur dans le code (tel que "Insert MaTable values ....)
    -Et, avec l'objet le problème des apostrophes ne se pose même plus ...

    Inconvénient : l'envoi par l'objet est plus complexe que la requête brut ...

  3. #3
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    tu peux utiliser une requete parametree, qui se chargera déchapper correctement tes apostrophes (et qui entre autres t'empechera de te prendre une injection SQL)

    Pour cela, jettes un oeil sur ce tuto :
    http://johannblais.developpez.com/tu...s-donnees/#LIV

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien en numérisation
    Inscrit en
    Juillet 2002
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien en numérisation

    Informations forums :
    Inscription : Juillet 2002
    Messages : 338
    Points : 155
    Points
    155
    Par défaut
    ca alourdis le code je trouve...

    mais c'est en mode non connecté ca ?

  5. #5
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par angelevil Voir le message
    ca alourdis le code je trouve...
    bof, je ne trouve pas...de toute facon, tu isoles bien tout le code responsable de l'accès aux bases de données en factorisant de facon à ne pas te repeter, non ?

    Plus serieusement, pour des requetes compliquées, il est souvent plus lisible de faire 10 cmd.Parameters.Add(New SQLParameter("toto", valeurtoto) que de te taper des concatenations de chaines (qui en plus seront moins performantes, et plus risquées...)


    mais c'est en mode non connecté ca ?
    En fait, tu ouvres ta connection, tu fais ton executenonquery, et tu te deconnectes

  6. #6
    Membre habitué
    Homme Profil pro
    Technicien en numérisation
    Inscrit en
    Juillet 2002
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien en numérisation

    Informations forums :
    Inscription : Juillet 2002
    Messages : 338
    Points : 155
    Points
    155
    Par défaut
    daccord je vais prendre la méthode replace pour l'instant et quand j'aurai le temps j'essayerai ce nouveau style de code. S'il y a un problème je reviendrai poser le problème ici.

    Merci

    AngelEvil!

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    la méthode du replace est totalement interdit dans les règles de bonnes conduites
    comme explicité souvent ici donc je vais pas réexpliqué les problèmes de sécurité, de conversion automatique de format et autre ...

    => parameters

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/06/2009, 09h26
  2. [VB6] Problème avec insertion d'icônes dans menu
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/03/2006, 21h38
  3. Réponses: 12
    Dernier message: 25/11/2005, 12h29
  4. Réponses: 3
    Dernier message: 10/05/2005, 11h02
  5. STL : std::set problème avec insert ...
    Par Big K. dans le forum MFC
    Réponses: 13
    Dernier message: 08/11/2003, 01h02

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