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 :

Base de données Access


Sujet :

C#

  1. #1
    hdd
    hdd est déconnecté
    Membre confirmé Avatar de hdd
    Profil pro
    Inscrit en
    Février 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 105
    Par défaut Base de données Access
    Bonjour,

    J'essaie de récupérer des données d'une base Acces à l'aide du code :

    _connexion = new OleDbConnection(new StringBuilder("Provider=Microsoft.Jet.OLEDB.4.0;Data source=").Append(Application.CheminBaseDeDonneesABiTAVISION).ToString());
    OleDbDataAdapter resultat = new OleDbDataAdapter(in_requete, _connexion);
    resultat.Fill(donnees);


    Mon problème est que pour la récupération de 80 champs (tous nommés dans la requête) d'une table (avec une simple clause WHERE), la requête est effectuée en moins d'une seconde, mais l'instruction :

    resultat.fill(donnees)

    prend elle environ 4 secondes !!!

    Manque-t-il quelque chose dans mes instructions ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    C'est l'instruction Resultat.Fill qui execute ta requete, donc c'est normal quelle est plus longue.
    Par contre tu doit avoir pas mal d'enregistrement dans ta table pour que cela prenne autant de temps.

  3. #3
    hdd
    hdd est déconnecté
    Membre confirmé Avatar de hdd
    Profil pro
    Inscrit en
    Février 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 105
    Par défaut
    Ben non, et c'est là le problème. Il n'y a "que" 900 lignes dans la table pour laquelle la requête prend 4 secondes.

  4. #4
    hdd
    hdd est déconnecté
    Membre confirmé Avatar de hdd
    Profil pro
    Inscrit en
    Février 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 105
    Par défaut
    Je viens de tester : si je fais un select *, cela prend 11 secondes (la table contient près de 200 champs). Si je fais le select sur un seul champ, c'est instantané.

  5. #5
    hdd
    hdd est déconnecté
    Membre confirmé Avatar de hdd
    Profil pro
    Inscrit en
    Février 2004
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 105
    Par défaut
    Je viens de tester en me connectant à une base située sur un autre PC, et les temps des requêtes sont encore plus longs !!!

    En C#, quel est le meilleur moyen de récupérer des données dans une base ACCESS ? Avec OleDbConnection, via ODBC, ... ?

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

Discussions similaires

  1. Accès aux bases de données Access
    Par xela dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/12/2004, 09h07
  2. [débutant] Connection à une base de donnée Access
    Par Lorenzox dans le forum JBuilder
    Réponses: 1
    Dernier message: 25/10/2004, 16h28
  3. Réponses: 15
    Dernier message: 25/10/2004, 11h50
  4. [Déploiement]Base de donnée Access
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 9
    Dernier message: 09/08/2004, 20h48
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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