rudybiss
Messages postés60Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention20 juillet 2009
-
11 juin 2009 à 11:44
rudybiss
Messages postés60Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention20 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
' 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
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 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. <
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 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. <
Vous n’avez pas trouvé la réponse que vous recherchez ?
rudybiss
Messages postés60Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention20 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!