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

Bases de données Delphi Discussion :

Importer un fichier CSV dans un clientdataset ?


Sujet :

Bases de données Delphi

  1. #1
    mls
    mls est déconnecté
    Membre à l'essai
    Inscrit en
    mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Importer un fichier CSV dans un clientdataset ?
    Bonjour,

    J'ai une petite question simple : peut-on "importer/lire" dans un composant (type TClientDataSet) un fichier csv (afin que ce composant puisse lire les champs séparés par des points-virgules) ?
    En effet, j'aimerai obtenir le même principe qu'avec un TClientDataSet "lisant" un fichier XML.
    Je ne voudrais pas passer par une base de données ou autre (TStringList, ...).

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    avril 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : avril 2002
    Messages : 1 091
    Points : 1 391
    Points
    1 391
    Par défaut
    Bonjour et bienvenue sur le forum !

    Je dirais que tu peux importer ton csv dans un champ memo.
    Je m'en sers pour importer des csv de plus de 90000 lignes.
    Cela me permet de faire des corrections quand cela est nécessaire.

  3. #3
    mls
    mls est déconnecté
    Membre à l'essai
    Inscrit en
    mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci de votre réponse, mais dans ce cas je récupère mes champs et mes valeurs en écrivant du code alors qu'avec un ClientDataSet, il me semble qu'on peut parcourir facilement les enregistrements d'un fichier XML (next, first, last, ...).

  4. #4
    mls
    mls est déconnecté
    Membre à l'essai
    Inscrit en
    mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    En fait, je veux juste lire le fichier csv (sans le modifier) facilement avec des commandes du type MonClientDataSet.first, MonClientDataSet.next, MonClientDataSet.last... (comme le composant TClientDataSet).

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Tu peux faire ça en lecture seule comme tu le souhaite avec un
    TADOConnection via ODBC et un driver texte

    Par code ça devrait faire un turc de se genre :
    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
     
    TADOConnection.ConnectionString <> 'Provider=MSDASQL.1;' +
          'Persist Security Info=False;' +
          'Extended Properties="DefaultDir=' + LeCheminCompletDeTonCSV + ';' +
          'Driver={Microsoft Text Driver (*.txt; *.csv)};' +
          'DriverId=27;' +
          'Extensions=txt,csv,tab,asc;' +
          'FIL=text;' +
          'FILEDSN=;' +
          'MaxBufferSize=2048;' +
          'MaxScanRows=25;' +
          'PageTimeout=5;' +
          'SafeTransactions=0;' +
          'Threads=3;' +
          'UID=admin;' +
          'UserCommitSync=Yes;"'
    apres tu utilise un ADoQuery et un DBGrid pour l'affichage

  6. #6
    mls
    mls est déconnecté
    Membre à l'essai
    Inscrit en
    mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci Philia pour ta réponse.
    Je viens de faire le test avec le code que tu m'as donné mais un message d'erreur apparaît à la connexion du composant TADOConnection :

    '[Microsoft][Pilote ODBC Texte]'(inconnu)' n'est pas un chemin d'accès valide. Assurer vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur sur lequel réside le fichier'

    Ai-je oublié quelque chose ?

    Sinon, est-ce qu'un autre moyen existe que de passer par une connexion ODBC ?

  7. #7
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2002
    Messages : 467
    Points : 1 306
    Points
    1 306
    Par défaut
    avec le BDE, le driver ODBC fonctionne.

    sinon, essaye un composant spécialisé :

    http://www.torry.net/pages.php?id=567

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  8. #8
    mls
    mls est déconnecté
    Membre à l'essai
    Inscrit en
    mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup Bloon, c'est exactement les composants que je recherchais
    Merci à tous pour vos réponses et bon développement...

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

Discussions similaires

  1. Importer un fichier csv dans une vue par DTS
    Par lemordore dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/02/2008, 13h39
  2. Importer un fichier csv dans une table mdb
    Par pobrouwers dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/12/2007, 15h17
  3. [WD9] Importer un fichier csv dans une table
    Par cactus666 dans le forum WinDev
    Réponses: 1
    Dernier message: 01/10/2007, 15h07
  4. Importer un fichier CSV dans une table mySQL
    Par crazydiver_e2 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/01/2007, 11h47
  5. Impossible d'importer un fichier csv dans une table sous MySQL
    Par manue85 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 20/04/2006, 13h06

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