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 :

Enregistrement, Modification dans une BDD


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 Enregistrement, Modification dans une BDD
    Bonjour,

    Suite à mon topic : http://www.developpez.net/forums/d11...istrement-bdd/
    Je fais une demande à part pour éviter de mélanger avec mon sujet résolu.

    Donc, j'utilise Subsonic et Visual Studio 2005 ainsi que SQL Server 2008.
    Grâce à un membre, j'ai réussi à passer l'étape "Suppression" d'un enregistrement, mais les plus délicates pour moi concernent l'ajout et la modification.
    En fait, je remplis des textbox, des dropdownlist dans un formulaire et j'aimerais que ces valeurs, une fois que je clique sur "enregistrer" soit sauvegardées dans ma base.
    Sinon, pour la modification c'est la même chose, sauf qu'une fois mon "Risque" chargé, j'effectue la modification et je l'enregistre.

    Peut-être que le principe est presque le même ?

    Merci d'avance

  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
    Visiblement il y a un tuto du célébre P.Lasserre sur ça
    http://philippe.developpez.com/articles/Subsonic
    *on est rarement déçu par ce qu'il fait*

  3. #3
    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
    Merci, mais je préfère avoir des explications, comme je les ai eu sur mon autre topic.

    Bref, j'ai tenté ceci :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
        Private Sub SaveRisque()
            With Me.Risque
                .IdDomaine = Me.CBlistDomaine.SelectedValue
                .IdRisque = Me.LBidMapping2.Text
                .Theme = Me.TbTheme.Text
                .Risque = Me.TbRisque.Text
                .DescripRisque = Me.TbDescRisque.Text
                .Niveau1RisqueBrut = Me.CbRisqueBrut1.SelectedValue
                .Niveau0RisqueBrut = Me.CbRisqueBrut0.SelectedValue
                .EnjeuEconomique = Me.TbCalcEnjEco.Text
                If Me.RbActControleoui.Checked = True Then
                    .ActiviteControle = True
                ElseIf Me.RbActControlenon.Checked = False Then
                    .ActiviteControle = False
                End If
     
                .DescripActControle = Me.TbDescActControl.Text
                If Me.RbOkOui.Checked = True Then
                    .Ok = True
                ElseIf Me.RbOkNon.Checked = False Then
                    .Ok = False
                End If
                If Me.RbMAJoui.Checked = True Then
                    .Maj = True
                ElseIf Me.RbMAJnon.Checked = False Then
                    .Maj = False
                End If
                If Me.RbIncompletoui.Checked = True Then
                    .Incomplet = True
                ElseIf Me.RbIncompletnon.Checked = False Then
                    .Incomplet = False
                End If
                If Me.RbInexistantoui.Checked = True Then
                    .Inexistant = True
                ElseIf Me.RbInexistantnon.Checked = False Then
                    .Inexistant = False
                End If
                .Niveau1RisqueNet = Me.CbRisqueNet1.SelectedValue
                .Niveau0RisqueNet = Me.CbRisqueNet0.SelectedValue
                .PlanAction = Me.TbPlActions.Text
                .Deadline = Me.TbDeadline.Text
                .Responsable = Me.TbResponsable.Text
                .Commentaires = Me.TbCommentaires.Text
     
            End With
     
     
        End Sub
    Mais, il me sort à la première ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .IdDomaine = Me.CBlistDomaine.SelectedValue
    La référence d'objet n'est pas définie à une instance d'un objet
    Pourtant, j'ai bien défini l'objet Risque

  4. #4
    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
    tu peut nous montrer l'objet risque et comment il est appelé avant.

    Pour moi il manque un New qui permet d'instancier l'objet.

  5. #5
    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
    Voilà mon objet Risque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        ''' <summary>
        ''' Objet Risque en cours
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Private Property Risque() As R_DAL.TBrisque
            Get
                Return (Me.Session("GestionRisqueAjout_Risque"))
            End Get
            Set(ByVal value As R_DAL.TBrisque)
                Me.Session("GestionRisqueAjout_Risque") = value
            End Set
        End Property

  6. #6
    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
    C'est surtout comment tu le déclare qui m’intéresse...

  7. #7
    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
    Hé bien je n'ai rien de plus en rapport avec l'objet Risque

  8. #8
    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
    essaye ceci alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Property Risque() As New R_DAL.TBrisque
    je ne suis pas expert dans tout ça...

  9. #9
    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
    Aie sans succès, il m'indique que "new" n'est pas valide dans ce contexte et que l'objet Risque n'est pas reconnu dans ma classe.

  10. #10
    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
    Gratte autour de ton
    et arrange toi pour le déclarer avec un New

  11. #11
    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
    J'ai tenté ça :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Private Sub SaveRisque()
            Dim risque As New TBrisque
            With Risque
                .IdDomaine = Me.CBlistDomaine.SelectedValue
                .IdRisque = Me.LBidMapping2.Text
                .Theme = Me.TbTheme.Text
                .Risque = Me.TbRisque.Text
                .DescripRisque = Me.TbDescRisque.Text
                .Niveau1RisqueBrut = Me.CbRisqueBrut1.SelectedValue
                .Niveau0RisqueBrut = Me.CbRisqueBrut0.SelectedValue
                '.EnjeuEconomique = CInt(Me.TbCalcEnjEco.Text)
                If Me.RbActControleoui.Checked = True Then
                    .ActiviteControle = True
                ElseIf Me.RbActControlenon.Checked = False Then
                    .ActiviteControle = False
                End If
     
                .DescripActControle = Me.TbDescActControl.Text
                If Me.RbOkOui.Checked = True Then
                    .Ok = True
                ElseIf Me.RbOkNon.Checked = False Then
                    .Ok = False
                End If
                If Me.RbMAJoui.Checked = True Then
                    .Maj = True
                ElseIf Me.RbMAJnon.Checked = False Then
                    .Maj = False
                End If
                If Me.RbIncompletoui.Checked = True Then
                    .Incomplet = True
                ElseIf Me.RbIncompletnon.Checked = False Then
                    .Incomplet = False
                End If
                If Me.RbInexistantoui.Checked = True Then
                    .Inexistant = True
                ElseIf Me.RbInexistantnon.Checked = False Then
                    .Inexistant = False
                End If
                .Niveau1RisqueNet = Me.CbRisqueNet1.SelectedValue
                .Niveau0RisqueNet = Me.CbRisqueNet0.SelectedValue
                .PlanAction = Me.TbPlActions.Text
                '.Deadline = CType(Me.TbDeadline.Text, DateTime)
                .Responsable = Me.TbResponsable.Text
                .Commentaires = Me.TbCommentaires.Text
     
            End With
     
            Me.DisplayAlert("Enregistrement Risque Effectué")
     
        End Sub
    Mis à part les erreurs de conversions, j'ai ai pas d'autres. Cependant, rien ne se produit dans ma base de données, l'ajout ne fonctionne pas. Dois-je passer par une requête comme le Delete ?

  12. #12
    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
    Le soucis c'est que tu déclare un nouvelle structure TBrisque..
    elle risque de ne pas corespondre a ton R_DAL qui je suppose est déclaré quelque part

  13. #13
    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
    C'est pas faute d'avoir cherché, mais j'étudie une autre possibilité au cas où. Je ne trouve pas l'intitulé exact pour l'ajout d'enregistrements, pourtant on a le DeleteQuery et le UpdateQuery, mais pas d'InsertQuery ou SaveQuery.

  14. #14
    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 hunteshiva Voir le message
    Le soucis c'est que tu déclare un nouvelle structure TBrisque..
    elle risque de ne pas corespondre a ton R_DAL qui je suppose est déclaré quelque part
    Oui, mais si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim risque As New R_DAL.TBrisque
    C'est la même chose.

  15. #15
    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
    J'ai essayé avec ce code :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     Private Sub AjoutRisque()
            Dim q As New SubSonic.Query("TBrisque")
            q.QueryType = SubSonic.QueryType.Insert
            q.AddUpdateSetting("Theme", TbTheme.Text)
            q.AddUpdateSetting("Risque", TbRisque.Text)
            q.AddUpdateSetting("descripRisque", TbDescRisque.Text)
            q.AddUpdateSetting("Niveau1RisqueBrut", CbRisqueBrut1.SelectedValue)
            q.AddUpdateSetting("Niveau0RisqueBrut", CbRisqueBrut0.SelectedValue)
            q.AddUpdateSetting("EnjeuEconomique", CInt(TbEnjEco.Text))
            q.AddUpdateSetting("calculEnjeuEco", TbCalcEnjEco.Text)
            If Me.RbActControleoui.Checked = True Then
                q.AddUpdateSetting("activiteControle", RbActControleoui.Checked = True)
            ElseIf Me.RbActControlenon.Checked = False Then
                q.AddUpdateSetting("activiteControle", RbActControleoui.Checked = False)
            End If
            q.AddUpdateSetting("descripActControle", TbDescActControl.Text)
            If Me.RbOkOui.Checked = True Then
                q.AddUpdateSetting("OK", RbOkOui.Checked = True)
            ElseIf Me.RbOkNon.Checked = False Then
                q.AddUpdateSetting("OK", RbOkNon.Checked = True)
            End If
            If Me.RbMAJoui.Checked = True Then
                q.AddUpdateSetting("Maj", RbMAJoui.Checked = True)
            ElseIf Me.RbMAJnon.Checked = False Then
                q.AddUpdateSetting("Maj", RbMAJnon.Checked = True)
            End If
            If Me.RbIncompletoui.Checked = True Then
                q.AddUpdateSetting("Incomplet", RbIncompletoui.Checked = True)
            ElseIf Me.RbIncompletnon.Checked = False Then
                q.AddUpdateSetting("Incomplet", RbIncompletnon.Checked = True)
            End If
            If Me.RbInexistantoui.Checked = True Then
                q.AddUpdateSetting("Inexistant", RbInexistantoui.Checked = True)
            ElseIf Me.RbInexistantnon.Checked = False Then
                q.AddUpdateSetting("Inexistant", RbInexistantnon.Checked = True)
            End If
            q.AddUpdateSetting("Niveau1RisqueNet", CbRisqueNet1.SelectedValue)
            q.AddUpdateSetting("Niveau0RisqueNet", CbRisqueNet0.SelectedValue)
            q.AddUpdateSetting("planAction", TbPlActions.Text)
            q.AddUpdateSetting("Deadline", TbDeadline.Text)
            q.AddUpdateSetting("Responsable", TbResponsable.Text)
            q.AddUpdateSetting("Commentaires", TbCommentaires.Text)
            q.AddUpdateSetting("idDomaine", CBlistDomaine.SelectedValue).Execute()
            'q.AddUpdateSetting("idRisque", LBidMapping2.Text)
            'q.WHERE(R_DAL.TBrisque.Columns.IdRisque, Me.Request.QueryString("idRisque"))
            'q.AND(R_DAL.TBrisque.Columns.IdDomaine, Me.Request.QueryString("idDomaine"))
     
     
            Me.DisplayAlert("Enregistrement du risque effectuée")
        End Sub
    Mais il m'affiche l'erreur suivante :

    Violation of PRIMARY KEY constraint 'PK_TBrisque'. Cannot insert duplicate key in object 'TBrisque'.
    Pourtant, dans ma table, je peux très bien créer plusieurs risques et plusieurs domaines avec le même numéro, par exemple : domaine 1 risque 1, domaine 2 risque 1 ou domaine 1 risque 2.

Discussions similaires

  1. Modification dans une bdd via une liste choisie via une checkbox
    Par LuffyWinchester dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 20/03/2015, 15h41
  2. jLabel et modification dans une bdd
    Par jbmen dans le forum JBuilder
    Réponses: 1
    Dernier message: 23/04/2008, 00h46
  3. [D7] Comment enregistrer le RTF d'un RichEdit dans une BDD
    Par Lung dans le forum Bases de données
    Réponses: 9
    Dernier message: 29/09/2006, 10h54
  4. [C#] Supprimer un enregistrement dans une BDD
    Par Filippo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 12h02
  5. Upload et enregistrement du nom du fichier dans une bdd
    Par johan_barbier dans le forum XMLRAD
    Réponses: 8
    Dernier message: 26/09/2005, 12h02

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