Bonjour,
Je ne vais pas tarder à implorer les dieux de la programmation..

Voici que depuis plusieurs jours je me bats, car je n’arrive pas à mettre à jour ma base de données Access.
J’ai trouvé sur le net ce petit programme et j’essai d'en comprendre le sens…
Voici, à l’ouverture on voit la BDD:
Nom : DTG.jpg
Affichages : 1081
Taille : 23,7 Ko
Je sélectionne le bouton connect et on peut voir l’ajout n° 8 pour cet exemple :
Nom : DTG_2.jpg
Affichages : 873
Taille : 25,4 Ko
Je contrôle dans la BDD et l’ajout c’est bien réalisé…MAIS SURPRISE.
Le fichier Access a été créé en double dans le fichier (bin\debug) et c’est lui qui a la nouvelle ligne…
Par contre le fichier dans mon projet n’a pas bougé !!!
Je recommence l’opération et bien là…misère !
Mon enregistrement a disparu de la base de données…

Que faut-il faire pour garder les enregistrements ?
Est-ce normal pour le double du fichier dans bin\debug .

Voici le code de mon form :
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace MS_Access__mdb__queries___procs___funcs_in_CSharp
{
    public partial class Form1 : Form
    {
        OleDbConnection conn;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void BtnConnect_Click(object sender, EventArgs e)
        {
            try
            {
                // chemin de fichier DB:
 
                var DBPath = Application.StartupPath + "\\Test.mdb";
                conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;"
                    + "Data Source=" + DBPath);
                conn.Open();
 
                // On insert 
                String essai1 = "2020";
                String essai2 = "125";
                String my_querry = "INSERT INTO Table_1 (text_col, int_col) VALUES ('" + essai1 + "','"
                    + essai2 + "')";
 
                using (OleDbCommand cmd = new OleDbCommand(my_querry, conn))
                {
                    cmd.ExecuteNonQuery();
 
                }
                // on affiche la nouvelle table
 
                using (DataTable dt = new DataTable())
                {
 
                    String my_select = "SELECT * FROM Table_1";
 
                    // SELECT * FROM Table_1
 
                    using (OleDbDataAdapter adapter = new OleDbDataAdapter(my_select, conn))
                    {
                        adapter.Fill(dt);
                    }
                    dgvSelect.DataSource = dt;
                }
 
            }
            catch(Exception ex)
            {
                MessageBox.Show("erreur : " + ex);
 
            }
            finally
            {
                conn.Close();
            }
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // ON AFFICHE LA TABLE A L OUVERTURE
 
            var DBPath = Application.StartupPath + "\\Test.mdb";
            conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;"
                + "Data Source=" + DBPath);
            conn.Open();
 
            using (DataTable dt = new DataTable())
            {
 
                String my_select = "SELECT * FROM Table_1";
 
                // SELECT * FROM Table_1
 
                using (OleDbDataAdapter adapter = new OleDbDataAdapter(my_select, conn))
                {
                    adapter.Fill(dt);
                }
                dgvSelect.DataSource = dt;
            }
 
            conn.Close();
        }
 
 
    }
}
Y a t'il une âme charitable pour me débloquer de cette situation....

Cordialement,

Merci