none
(Visual Basic 2008) Pas de suppression ! RRS feed

  • Question

  • Bonjour,

    Pour me familiariser avec les bases de données SQL SERVER, j'ai créé un projet

    J'ai ajouté une base, fichier .MDF, avec des tables

    J'ai définit un DATASET Fichier XSD

    J'ai ajouté un formulaire au projet

    Dans la partie "Sources de données", j'ai développé la table ARTICLE

    J'ai sélectionnés les champs un par un, et les ai fait glisser sur la FORM (Le formulaire ajouté)

    Aux tests, cela fonctionne bien

    Je fais défiler les articles

    Je fais des ajouts, et des modifications

    -Mais pour les suppressions, si l'enregistrement disparait bien à l'affichage, et le nombre d'enregistrement est bien décrémenté de 1, je retrouve cet enregistrement lorsque je quitte puis revient au formulaire !

    -Autre chose. Si je construis un TRIGGER sur DELETE pour cette table, il n'est pas pris en compte

    Je veux dire par là que quand je fais une suppression par un autre formulaire, le TRIGGER réagit bien, mais sur le formulaire en cause, aucune réaction

    Une idée ?

    Voici l'image de la FORM

    Et son code

    Public Class frmArticle_Bis
    
        Private Sub TabArticleBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabArticleBindingNavigatorSaveItem.Click
            Me.Validate()
            Me.TabArticleBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.BdTest_SqlDataSet)
        End Sub
    
        Private Sub frmArticle_Bis_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO : cette ligne de code charge les données dans la table 'BdTest_SqlDataSet.tabArticle'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            Me.TabArticleTableAdapter.Fill(Me.BdTest_SqlDataSet.tabArticle)
        End Sub
    End Class
    Une idée ?


    Cordialement Sauveur CONSALVI


    vendredi 23 novembre 2012 14:57

Réponses

  • Punaise ! J'ai cherché de partout, sauf au bon endroit !

    C'est le TRIGGER qui est en cause

    J'ai utilisé INSTEAD OF DELETE au lieu de FOR DELETE

    Si bien que j'avais le message si l'article répondait à la condition du message, mais dans le cas contraire, la suppresion n'était pas faite ...

    Par contre, je ne comprend pas pourquoi cette réaction :

    Quand on click sur la croix du DELETE, l'enregistrement disparait de la FORM

    Mais pour que le DELETE soit bien effectué, il faut ensuite faire un click sur la mise à jour

    C'est extrémement trompeur ...


    Cordialement Sauveur CONSALVI

    lundi 26 novembre 2012 15:43

Toutes les réponses