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

C# Discussion :

exemple de manipulation OLEDB


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut exemple de manipulation OLEDB
    bonjour à tous


    Je cherche un exemple complet pour manipuler une base de données Access en utilisant OLEDB
    (lecture, écriture, suppression, update)


    merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu peux commencer par http://dotnet.developpez.com/articles/ado1/csharp/

    C'est pour SQL Server, mais le principe est le même. Tout ce que tu as à changer, c'est :
    - remplacer SqlConnection par OleDbConnection, SqlCommand par OleDbCommand, etc
    - changer la chaine de connexion pour utiliser une base Access (cf. ce site)

  3. #3
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    merci

    j'ai trouvé aussi ce lien http://csharp.net-informations.com/d...view-oledb.htm. Il est utile

  4. #4
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut insertion avec OLEDB
    bonjour à tous,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
       string connetionString = null;
                OleDbConnection connection ;
                OleDbDataAdapter oledbAdapter = new OleDbDataAdapter();
                string sql = null;
                connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;";
                connection = new OleDbConnection(connetionString);
                sql = "insert into user values('user1','password1')";
                try
                {
                    connection.Open();
                    oledbAdapter.InsertCommand = new OleDbCommand(sql, connection);
                    oledbAdapter.InsertCommand.ExecuteNonQuery();
                    MessageBox.Show ("Row(s) Inserted !! ");
                }


    j'utilise ce code mais l'insertion ne s'effectue pas!


    merci d'avance

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Si tu apprends tout juste à utiliser une base de données en C#, n'utilise pas les DataAdapter pour l'instant. Je vois tout le temps des débutants qui utilisent ça sans même comprendre ce qu'ils font, et là c'est visiblement ton cas.

    Commence plutôt par le lien que je t'ai donné, il commence par la base, et aborde les datasets et DataAdapters dans l'article suivant.

    Dans le code que tu as écrit, le DataAdapter ne sert strictement à rien. Fais plutôt quelque chose comme ç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
                string connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;";
                OleDbConnection connection = new OleDbConnection(connetionString);
                string sql = "insert into user values('user1','password1')";
                try
                {
                    connection.Open();
                    OleDbCommand command = new OleDbCommand(sql, connection);
                    command.ExecuteNonQuery();
                    MessageBox.Show ("Row(s) Inserted !! ");
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
    D'autre part, quand tu dis que ça ne marche pas, que se passe-t-il exactement ? Tu as une erreur ? Je suppose que ton fichier Access ne s'appelle pas "Your mdb filename", il faut modifier la chaine de connexion. Et la table user existe-t-elle ?

  6. #6
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    le code ne retourne pas une erreur mais l'insertion est temporaire il n’insère pas dans la base, comme si je tavail sur SQL et j'ai pas fait commit

    même en rectifiant le code comme vous m'avez dit:

    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
    public void write(string debut,string fin)
      {
          string connetionString = chaine;
          OleDbConnection connection = new OleDbConnection(connetionString);
          string sql = "insert into boites values(99,5,77)";
          try
          {
              connection.Open();
              OleDbCommand command = new OleDbCommand(sql, connection);
              command.ExecuteNonQuery();
              MessageBox.Show("Row(s) Inserted !! ");
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.ToString());
          }
      }

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu es sûr que tu regardes dans le bon fichier ? Si la base de donneés fait partie de ton projet, elle est copiée vers le répertoire de sortie lors de la compilation (dans bin\Debug). Sélectionne le fichier dans l'explorateur de solution et regarde ses propriétés. Pour la propriété "Copier vers le répertoire de sortie", vérifie que l'option sélectionnée est bien "Ne pas copier" ou "Copier si plus récent". Si l'option est "Toujours copier", la base de données dans le répertoire de travail est écrasée à chaque compilation, ce qui peut expliquer qu'elle ne semble pas avoir été modifiée...

  8. #8
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    merci vous avez raison c ca le probleme

    mais je comprend pas pourquoi il ya 2 copie de la base l'une dans le projet et l'autre dans le repertoire de sortie debug?

    et sur quelle copie je suis entrain de travailler exactemnt?

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Le programme travaille sur la copie qui est dans le répertoire debug. Celle qui est à la racine du projet sert de "référence" pour pouvoir recréer la base de travail. Mais comme l'option par défaut est "toujours copier", ça écrase la base de travail à chaque fois, ce qui est un peu idiot...

  10. #10
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    j'essaie de faire un projet setup pour mon application

    comment je fait pour que cette base soit installé chez l'utilisateur pendant le processus d'installation?

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Salut,

    Ca n'a pas de rapport avec la question d'origine, donc ouvre plutôt une nouvelle discussion, tu auras plus de réponses. Et commence par chercher sur le forum, je suis à peu près certain que la question a déjà été posée...

  12. #12
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    ok merci

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

Discussions similaires

  1. Exemple simple de manipulation d'un ComboBox
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/02/2013, 21h03
  2. Exemple simple de manipulation d'un TListBox
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 1
    Dernier message: 02/02/2013, 15h55
  3. Réponses: 3
    Dernier message: 16/04/2012, 11h45
  4. D7- Exemple de manipulation fichier XLM
    Par mario9 dans le forum Bases de données
    Réponses: 5
    Dernier message: 07/10/2009, 20h49
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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