Aide sur application

Résolu
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009 - 11 juin 2009 à 11:44
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009 - 15 juin 2009 à 10:04
Bonjour!
Je développe une application et j'ai utiliser les dataset.Mais je constate que lorsque je ferme l'application,toutes les modifications apportées disparaissent aussi.Alors j'ailerai bien savoir comment régler ce problème car je suis fatigué de cette situation.
Merci à tous!
Je vous montre le code:

Private Sub frm_programme_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 'Base_appli_omsDataSet1.conseiller'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.ConseillerTableAdapter1.Fill(Me.Base_appli_omsDataSet1.conseiller)
        'on parametre la chaine de connection pour la base de donnée
        Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
        "data source= " & Application.StartupPath & "" & "base_appli_oms.mdb;"

        ' rempli le dataset
        AdapTprogramme.Fill(DtSet, "programme")

        'remplissage de la liste avec le dataset
        Dim Matable As DataTable
        Matable = DtSet.Tables("programme")
        Grid_programme.DataSource = Matable
        'mise en forme de la grille
        mef_grid()

        'on rempli le dataset pour le combobox
        'AdapTcodeconseiller.Fill(base_appliomsDataSet, "conseiller")

        'remplissage du combobox avec le dataset
        ' Dim Matable1 As DataTable
        ' Matable1 = OutilPointageDataSet_cons.Tables("conseiller")
        ' cmb_cod_cons.DataSource = Matable1
        ' cmb_cod_cons.DisplayMember = "Code_conseiller" 'Nom de la colonne de table que tu veux afficher dans le combo
        ' cmb_cod_cons.ValueMember = "Code_conseiller" 'Valeur de l'élément SelectedValue (Utiliser pour retourner les ID lors de la sélection d'un membre par ex.)

        'on se postitionne sur la  premiere ligne de la grille
        'et on met les champs a jour
        Grid_programme.Select(0)
        Grid_programme.CurrentRowIndex = 0
        Affiche_champ()
        'on bloque les champs
        bloque_ctrls()
        'on bloque le bouton de modification
        Btn_modifier.Enabled = False
        'on bloque le bouton de suppression
        Btn_suppr.Enabled = False

        'on ferme la connection
        Connection.Close()
    End Sub

Bouton enregistrer

 Private Sub Btn_enrgistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_enregistrer.Click        If txt_cod_prog.Text "" Or txt_lib_prog.Text "" Or cmb_cod_cons.Text = "Choisir..." Then
            MsgBox("Tous les champs doivent être renseignés", MsgBoxStyle.Information, "Vérification des champs")
        Else

            Dim NewLigne As DataRow
            With DtSet
                ' Création de la nouvelle ligne
                NewLigne = DtSet.Tables("programme").NewRow
                'affectation des valeurs

                NewLigne(1) = txt_cod_prog.Text
                NewLigne(0) = DtSet.Tables.Item(0).Rows.Count + 1
                NewLigne(2) = cmb_cod_cons.Text
                NewLigne(3) = txt_lib_prog.Text

                ' Ajout de la ligne à la table
                .Tables("programme").Rows.Add(NewLigne)

                Connection.Open()
                ' Création CommandBuilder
                '(genere automatiquement l'update entre le dataSet et la base de donnée
                Dim CmdBuild As OleDbCommandBuilder
                CmdBuild = New OleDb.OleDbCommandBuilder(AdapTprogramme)
                AdapTprogramme.UpdateCommand = CmdBuild.GetUpdateCommand()
                AdapTprogramme.Update(DtSet, "programme")
                Connection.Close()

            End With
        End If
        'manipulation sur les boutons et controles

        Btn_nouveau.Visible = True
        Btn_enregistrer.Visible = False
        Vide_champ()
        bloque_ctrls()
    End Sub

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 juin 2009 à 20:42
Salut

Si la base de données est dans le repertoire bin/debug c'est normal
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
12 juin 2009 à 16:21
Bonjour, pour résoudre ce problème, dans l'explorateur de fichier, fais un clique droit sur le fichier de base de données, puis dans sa propriété 'Copier dans le répertoire' met, ne pas copier, ou copie si plus récent. Avec cette dernière, la base sera écrasé que si tu lui à approté des modifications via l'éditeur de base de données de vs.
@+ Mayzz.
                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
12 juin 2009 à 22:56
Une autre solutuon est de mettre la base ailleurs

Ce probleme ne se produit pas en dehors de VS il me semble
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
12 juin 2009 à 23:23
Les fichiers du projet (peu importe ou ils soient) sont automatiquement recopier dans le répertoire BIN du projet si l'option 'Copier dans le répertoire...' est sur 'Toujours', en revanche, on peut déplacer le fichier de la base de données dans le répertoire BIN, la source étant l'identique à la cible, la copie ne se ferra donc pas... 

De plus, il me semble que vs n'accepte pas que les fichiers du projet se trouvent en dehors du dossier de celui-ci. Les chemins d'accès aux fichiers sont grisés et lors ce que l'on ajoute un fichier provenant de l'extérieur, vs le copie automatiquement dans le répertoire de la solution.

Pour la base de donnée, vb considère que l'application une fois compilé, aura besoin de celle-ci au seins du répertoire courant de l'application, il en fait donc une copie par défaut c'est normal, sinon on se retouve avec une base dans Solution/Projet/Base, or l'application compilé étant dans Bin, celle-ci à besoin de la base à l'emplacement Solution/Projet/Bin/DEBUG/Base, Idem pour Release. D'ailleur si l'on place notre base dans un dossier créé dans le répertoire de l'application, celui-ci serra recréé dans le dossier bin ainsi que les fichiers qu'il contient.

@+ Mayzz.
                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009
12 juin 2009 à 09:48
Salut!
La base est dans le répertoire bin/debug et dans le répertoire où se trouve le projet (car on ajoutant le dataset il m'a demandé si je voulais ajouté la base de données au projet,j'ai dit "oui".).Alors comment faire pour résoudre ce problème SVP?
Merci d'avance!
0
rudybiss Messages postés 60 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 20 juillet 2009
15 juin 2009 à 10:04
Bonjour!
Merci à vous deux pour les explications,ça marche en ce moment!
Bonne journée!
0
Rejoignez-nous