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

VB.NET Discussion :

Soucis d'insertion dans BDD


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    apprenti
    Inscrit en
    Décembre 2011
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 212
    Par défaut Soucis d'insertion dans BDD
    BOnjour,
    je suis actuellement sur une application qui gère un espace membre sur internet, et il s'avère que je ne peux pas faire une insertion dans une base de données d'un texte avec des ' ... Je ne sais comment faire ..., j'ai essayer de les remplacer par des " (dans l'écriture de la requete), mais sa marche pas... Quelqu'un a t il une idée? je vous fournit mon code d'insertion. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim reqmaj As String
            reqmaj = "INSERT INTO message VALUES ('" & T_num.Text & "','" & T_titre.Text & "','" & T_message.Text & "','OUI','" & numcat & "','" & numeroadmin & "') "
            Dim resup As Integer
            resup = F_menu.reqMAJ(reqmaj)
    Merci d'avance pour vos réponses !

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    normal et connu, c'est un peu les bases qu'on voit dans les premiers mois de développement ^^

    si un textbox contient un ' alors la concaténation donnera
    values ('l'oiseau')

    le l sera donc compris comme une chaine de caractère, et le reste sera incompris
    la solution de base est de doubler les quote, tout comme en vb on double les guillemets
    (dim a as string = " string avec un "" contenu")

    néanmoins il y a une solution beaucoup plus propre : les DbParameters
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmd.commandtext = "values (@value)"
    cmd.parameters.addwithvalue("@value", montextbox.text)
    les parameters s'occupe des quote contenu, et surtout ca évite les injections SQL (faille de sécurité très simple à utiliser et très dangereuse)

    je t'invite donc à lire des tutos sur les dbparameters
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [hibernate] souci à l'insertion dans ma base
    Par mehdi_swatch dans le forum Hibernate
    Réponses: 1
    Dernier message: 24/05/2006, 05h57
  2. [MySQL] Insertion dans bdd qui plante
    Par pssinjaune dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/04/2006, 16h21
  3. [MySQL] Problème double insertion dans BDD
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 28/12/2005, 00h09
  4. pb double insertion dans BDD
    Par oceane751 dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/12/2005, 09h59
  5. Insertion dans BDD type ACCESS
    Par NeHuS dans le forum ASP
    Réponses: 2
    Dernier message: 20/04/2005, 10h53

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