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

ADO.NET Discussion :

Requête de suppression personnalisée


Sujet :

ADO.NET

  1. #1
    Débutant   Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Points : 100
    Points
    100
    Par défaut Requête de suppression personnalisée
    Bonjour à tous,
    Je suis entrain de développer une petite application pour la gestion des articles d'un supermarché.
    J'ai comme ceci créé ma requête de suppression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Dim SupProd As SqlConnection = New SqlConnection("Data Source=MICHELTSHODI\MICHELTSHODI4VS;Initial Catalog=BdGestionArticles;Integrated Security=True")
            SupProd.Open()
            MsgBox("Connexion à la base réussie", MessageBoxIcon.Information, "Réussite")
            'Dim code As Integer
            'code = CInt(txtId.Text)
            Dim SupCmd As SqlCommand = AddProd.CreateCommand()
            SupCmd.CommandText = "DELETE FROM TFournisseur WHERE IdFourn= '" + Int32.Parse(txtId.Text) + "'"
            MsgBox("" + AddCmd.CommandText)
            SupCmd.ExecuteNonQuery()
            MsgBox("Fournisseur supprimé avec succès", vbInformation, "Confirmation")
            SupProd.Close()
    En exécutant le projet, il s'affiche une erreur du genre "erreur de casting", alors que dans la BD, mon champ IdFourn est bien du type entier.
    J'ai essayé par la même méthode de supprimer avec un champ autre chargé depuis un Combobox, ca ne marche toujours pas.
    J'aimerais au fait laisser à l'utilisateur le choix de supprimer à partir du champ de la table qu'il souhaite (sélectionné dans le combo) et la valeur de la clé (saisie dans le textbox).
    Merci des contributions svp.
    Dans la vie, estimer 3 choses: le courage, la persévérance et l'humilité!!!
    Dans ce forum, ne pas oublier 3 choses: les balises Code, Quote et le Tag Résolu!!!

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Sujet deja traite maintes et maintes fois sur le forum : il faut toujours utiliser des requetes parametrees.

    A lire : .Net, SQL Server, et les requêtes paramétrées (VB.Net)

    Ton erreur ici c'est que tu concatenes ta valeur entre ' et ' ce qui pour le SGBD signifie que lui envoies un string.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Débutant   Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Sujet deja traite maintes et maintes fois sur le forum : il faut toujours utiliser des requetes parametrees.

    A lire : .Net, SQL Server, et les requêtes paramétrées (VB.Net)

    Ton erreur ici c'est que tu concatenes ta valeur entre ' et ' ce qui pour le SGBD signifie que lui envoies un string.
    Bonjour et merci de cette réponse.
    Merci aussi de m'aider avec un exemple de requête paramétrée. Je le fait bien avec INSERT, mais je ne sais pas avec les autres.
    Dans la vie, estimer 3 choses: le courage, la persévérance et l'humilité!!!
    Dans ce forum, ne pas oublier 3 choses: les balises Code, Quote et le Tag Résolu!!!

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour demando77,

    La logique est la même pour un update ou un delete (pour un select c'est légèrement différent, car il y a une valeur de retour).

    Cela donne à peu près ceci dans votre cas, à la gestion des exceptions près :
    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
    Dim SupProd As SqlConnection = New SqlConnection("Data Source=MICHELTSHODI\MICHELTSHODI4VS;Initial Catalog=BdGestionArticles;Integrated Security=True")
     
            MsgBox("Connexion à la base réussie", MessageBoxIcon.Information, "Réussite")
            'Dim code As Integer
            'code = CInt(txtId.Text)
     
            Dim Requete As String = "DELETE FROM TFournisseur WHERE IdFourn= @idFourniture"
            Dim SupCmd As SqlCommand = New SqlCommand(Requete, SupProd)
            With SupCmd.Parameters
                .Add(New SqlParameter("@idFourniture", SqlDbType.Int, 4))
            End With
            With SupCmd.Parameters
                .Parameters("@idFourniture").Value = CInt(txtId.Text)
            End With
            SupProd.Open()
            SupCmd.ExecuteNonQuery()
            SupProd.Close()

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2009, 10h06
  2. [MySQL] Requête de suppression PHP MySQL
    Par lea87 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/01/2008, 15h36
  3. Réponses: 6
    Dernier message: 02/01/2008, 18h15
  4. Requête de suppression
    Par mrcchevalier dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/08/2007, 12h08
  5. Requête de suppression de doublons : besoin d'aide
    Par biocorp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2004, 17h04

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