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 :

Suppression d'un enregistrement BDD [Débutant]


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 53
    Points : 33
    Points
    33
    Par défaut Suppression d'un enregistrement BDD
    Bonjour,

    Je dispose tout d'abord de Subsonic avec Visual Studio 2005 et de SQL Server 2008.
    Je charge donc un tableau dans ma page grâce à des valeurs dans des dropdownlist, ensuite quand je souhaite accéder à la modification des valeurs, je clique sur mon "Nom de domaine" dans le tableau et les informations sont chargées (les mêmes qui apparaissent dans le tableau sauf en modification ici).
    Je ne me suis pas occupé de la modification, ni de l'ajout de nouveaux enregistrements, je commence déjà par la suppression.
    J'ai beau essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub DelAudit()
                Try
                    R_DAL.TBrisque.Delete(idDomaine)
                Catch ex As Exception
                End Try
     
                Me.DisplayAlert("Suppression de l'Audit Effectué")
         End Sub
    ou ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Private Sub DelRisque()
            Dim deleteQuery As New SubSonic.DeleteQuery(R_DAL.TBrisque.Schema)
            With deleteQuery
                .WHERE(R_DAL.TBrisque.Columns.IdDomaine, Me.Request.QueryString("idDomaine"))
                .Execute()
     
            End With
     
            Me.DisplayAlert("Suppression du risque effectuée")
        End Sub
    Mais dans le deuxième cas, cela supprime toutes mes lignes, enfin tout quoi

    Hors, je voudrais simplement qu'une fois mon "Risque" chargé en modification, pouvoir le supprimer, mais juste cette ligne correspondante à mon tableau dans ma BDD.

    Pourriez-vous m'éclairer à ce propos ?

  2. #2
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjour,

    j'ai trouvé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'On ne peut pas effacer directement, il faut passer par ceci:
    Dim isreadonly As PropertyInfo = GetType(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance Or BindingFlags.NonPublic)
     
    ' Création d'une collection
    isreadonly.SetValue(Me.Request.QueryString, False, Nothing)
     
    ' Efface
    Me.Request.QueryString.Remove("foo")

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Ne connaissant pas Subsonic, je vais peut être dire une bêtise... mais ça ressemble pas mal à une "interface fluide" (fluent interface), et dans ce cas le .Where crée probablement une nouvelle instance de DeleteQuery. Donc en fait il faudrait faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim deleteQuery As New SubSonic.DeleteQuery(R_DAL.TBrisque.Schema)
    deleteQuery.Where(R_DAL.TBrisque.Columns.IdDomaine, Me.Request.QueryString("idDomaine")).Execute()
    (en une seule instruction)

    Sinon, le résultat du Where n'est jamais utilisé, et tu appelles Execute directement sur le deleteQuery d'origine

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ne connaissant pas Subsonic, je vais peut être dire une bêtise... mais ça ressemble pas mal à une "interface fluide" (fluent interface), et dans ce cas le .Where crée probablement une nouvelle instance de DeleteQuery. Donc en fait il faudrait faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim deleteQuery As New SubSonic.DeleteQuery(R_DAL.TBrisque.Schema)
    deleteQuery.Where(R_DAL.TBrisque.Columns.IdDomaine, Me.Request.QueryString("idDomaine")).Execute()
    (en une seule instruction)

    Sinon, le résultat du Where n'est jamais utilisé, et tu appelles Execute directement sur le deleteQuery d'origine
    Merci pour vos réponses, j'ai testé celle de tomlev et cela fonctionne super bien! J'ai juste interchangé l'idDomaine avec l'idRisque car cela me supprimait le domaine et ses correspondances et maintenant cela me supprime bien le risque concerné.

    Super réponse et rapide, merci

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Nikko42 Voir le message
    Super réponse et rapide, merci
    N'oublie pas le bouton alors

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

Discussions similaires

  1. Suppression d'un enregistrement
    Par charliejo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/03/2006, 11h13
  2. [VB][rdo] Strategie de suppression massive d'enregistrements
    Par Bicky dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/10/2005, 14h12
  3. suppression automatique des enregistrements
    Par abdou.sahraoui dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/08/2005, 13h45
  4. [VB.NET]Suppression d'un enregistrement dans un DataGrid
    Par San Soussy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/06/2005, 10h30
  5. Suppression d'un enregistrement
    Par denisfavre dans le forum IHM
    Réponses: 3
    Dernier message: 04/10/2004, 11h03

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