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

Windows Forms Discussion :

C# windows forms insérer données


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 507
    Par défaut C# windows forms insérer données
    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 : 1088
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 : 880
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

  2. #2
    Membre éclairé Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 507
    Par défaut
    Bonsoir,

    Je viens de modifier mon chemin de sortie en supprimant bin\debug et maintenant ça fonctionne...
    Effectivement j'ai mis le fichier Access directement dans le programme.

    Est-ce la bonne solution ?

    Si quelqu'un de confirmé pouvait m'expliquer simplement le but du fichier de sortie.
    Voir me donner un lien pour en comprendre le sens.

    Cordialement,

    Bruno

  3. #3
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Jette un coup d'oeil sur cette rubrique d'aide MSDN Linrary Help Fr intitulée :
    extrait du debut de la rubrique :
    Comment : gérer des fichiers de données locaux dans votre projet
    Un fichier de base de données local peut être inclus en tant que fichier dans un projet. La première fois que vous connectez votre application à un fichier de base de données local, vous pouvez choisir entre créer une copie de la base de données dans votre projet ou vous connecter au fichier de base de données existant à son emplacement actuel. Si vous choisissez de vous connecter au fichier existant, une connexion est créée, exactement comme dans le cas d'une base de données distante. Le fichier de base de données reste à son emplacement d'origine. Si vous choisissez de copier la base de données dans votre projet, Visual Studio crée une copie du fichier de base de données, l'ajoute à votre projet et modifie la connexion afin qu'elle pointe vers la base de données de votre projet plutôt que vers l'emplacement d'origine du fichier de base de données.


    etc....etc ...lire toute la rubrique
    La rubrique sous-entend que tu as ajouté la BD à partir du menu :
    Données ->Ajouter une nouvelle source de données et qu tu as choisi soit OUI soit NON à la grande MessageBox à la fin de l’opération d'ajout (bien lire continu )...
    bon code...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/12/2018, 09h35
  2. Réponses: 0
    Dernier message: 15/12/2018, 10h37
  3. Réponses: 0
    Dernier message: 10/03/2009, 14h43
  4. Insérer dans du Web.UI un objet Windows.Form
    Par lilou77 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/06/2007, 15h17
  5. Echange de données entre des Windows Forms
    Par vladvad dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/04/2007, 20h45

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