begin process at 2010 02 10 02:17:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > GÉNÉRATION D'UN FICHIER TEXTE À PARTIR D'UNE BASE DE DONNÉES

GÉNÉRATION D'UN FICHIER TEXTE À PARTIR D'UNE BASE DE DONNÉES


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Source .NET ( DotNet ) Classé sous :génération, fichier, txt, bdd Niveau :Débutant Date de création :31/10/2003 Vu :11 700

Auteur : superpa

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Crée un fichier texte sous la forme d'un tableau à partir d'une base de donnée access.

Source

  • using System;
  • using System.Data;
  • using System.Data.OleDb;
  • using System.IO;
  • namespace FromDBToTxt
  • {
  • class FromDBToTxt
  • {
  • [STAThread]
  • static void Main(string[] args)
  • {
  • try
  • {
  • Console.WriteLine("Connexion a la bd");
  • OleDbConnection conn = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb");
  • Console.WriteLine("Execution de la commande");
  • OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM Contacts",conn);
  • DataSet ds = new DataSet("Ensemble des contacts");
  • da.Fill(ds, "Contacts");
  • Console.WriteLine("Creation du fichier txt");
  • FileStream fileStream = new System.IO.FileStream(@"c:\contacts.txt",System.IO.FileMode.Create);
  • StreamWriter sw = new StreamWriter(fileStream);
  • Console.WriteLine("Creation des en-têtes");
  • foreach (DataColumn col in ds.Tables["Contacts"].Columns)
  • {
  • sw.Write(col.ColumnName);
  • sw.Write("\t");
  • }
  • sw.Write(sw.NewLine);
  • Console.WriteLine("Ajout des données");
  • foreach(DataRow row in ds.Tables["Contacts"].Rows)
  • {
  • int cnt = ds.Tables["Contacts"].Columns.Count;
  • for(int i = 0; i < cnt; i++)
  • {
  • sw.Write(row[i]);
  • sw.Write("\t");
  • }
  • sw.Write(sw.NewLine);
  • }
  • Console.WriteLine("Ecriture terminée");
  • sw.Close();
  • conn.Close();
  • }
  • catch(Exception exc)
  • {
  • Console.WriteLine(exc.Message);
  • }
  • }
  • }
  • }
using System;
using System.Data;
using System.Data.OleDb;
using System.IO;

namespace FromDBToTxt
{
  class FromDBToTxt
  {
    [STAThread]
    static void Main(string[] args)
    {
      try
      {
        Console.WriteLine("Connexion a la bd");
        OleDbConnection conn = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb");
        Console.WriteLine("Execution de la commande");
        OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM Contacts",conn);
                
        DataSet ds = new DataSet("Ensemble des contacts");
        da.Fill(ds, "Contacts");

        Console.WriteLine("Creation du fichier txt");
        
        FileStream fileStream = new System.IO.FileStream(@"c:\contacts.txt",System.IO.FileMode.Create);
        StreamWriter sw = new StreamWriter(fileStream);

        Console.WriteLine("Creation des en-têtes");
        foreach (DataColumn col in ds.Tables["Contacts"].Columns)
        {
          sw.Write(col.ColumnName);
          sw.Write("\t");
        }
        sw.Write(sw.NewLine);
        
        Console.WriteLine("Ajout des données");
        foreach(DataRow row in ds.Tables["Contacts"].Rows)
        {
          int cnt = ds.Tables["Contacts"].Columns.Count;
          for(int i = 0; i < cnt; i++)
          {
            sw.Write(row[i]);
            sw.Write("\t");
          }
          sw.Write(sw.NewLine);
        }

        Console.WriteLine("Ecriture terminée");
        sw.Close();
        conn.Close();
      }
      catch(Exception exc)
      {
        Console.WriteLine(exc.Message);
      }
    }
  }
}

 Conclusion

Ce code n'est certainnement pas parfait: il peut y avoir un problème d'alignement, si la taille des champs dépasse la taille d'une tabulation. Il est évidemment possible de changer celà, si ça vous intéresse.


 Sources du même auteur

Source .NET (Dotnet) ASSOCIER LE RÉSULTATS D'UNE REQUÊTE D'UNE BD À UNE BOÎTE DE ...
Source avec Zip Source avec une capture Source .NET (Dotnet) RECTANGLE QUI SUIT LA SOURIS
Source avec Zip Source .NET (Dotnet) GENERER UN FICHIER XML A PARTIR D'UNE BD
Source avec Zip Source avec une capture Source .NET (Dotnet) GRAPHIQUES SIMPLES

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) DEMO_XML_BASE_DE_DONNÉES par DanMor498
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPORTER SCRIPT SQL SQL SERVER (CREATE - DROP - INSERT - TAB... par citt
Source avec Zip Source .NET (Dotnet) BULKINSERT EN C# par Malkuth
Source avec Zip Source avec une capture Source .NET (Dotnet) SPLIT SQL SANS TABLE TEMPORAIRE par TheOnlyMaX
Source avec Zip Source .NET (Dotnet) MOTEUR CSV ET RECORDSET PERSO par SwitchApocalyps

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) RECHERCHE ET GESTION DE FICHIERS PERSONNALISÉES par JeremyLecouvert
Source .NET (Dotnet) GREP POUR WINDOWS par Warny
Source avec Zip Source .NET (Dotnet) CHECK IDENTICAL FILES par eldim
Source avec Zip Source avec une capture Source .NET (Dotnet) SUPPRIMER LES TAG BOM DANS FICHIER UTF-8 par gluk
Source .NET (Dotnet) PARSER DE NODE XML ALTERNATIF par bubbathemaster

Commentaires et avis

Commentaire de haccounsoft le 28/12/2003 00:06:41

C 4 Bonne idée que t'as eu de mettre un exemple de liaisons a un fichier Access mé le prob c que t'indiques pas si il faut creer un fichier access pr que ton prog marche et si c le K quelle est la strucutre de la table ?
Voila mé en tt K c qd meme bien sympa de contribuer en fillant des trucs aussi utiles !

PS: Modérateur, dslé pr la langue de Moliere lol

Commentaire de superpa le 30/12/2003 11:20:44

Très bonne remarque.
Dans ce cas-ci, il faut créer un fichier Access DB.mdb et le placer dans le répertoire de l'executable. La requête portera sur la table contacts, quelqu'en soit la structure (SELECT * FROM Contacts).

Vous pouvez bien entendu modifier le code pour prendre en compte votre bd et votre table. Pour ça changez:

OleDbConnection conn = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb"); DB.mdb par votre base et son chemin d'accès

OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM Contacts",conn); par votre requête

da.Fill(ds, "Contacts"); contacts par le nom que vous voulez donner à votre dataset.

Si c'est pas assez clair, dites-le

Commentaire de haccounsoft le 30/12/2003 19:57:49

Merci Superpa pour les précisions mais j'ai réussi avant hier soir  à me débrouiller en me creusant un petit peu la cervcelle ! :-)
En fin de compte, c'est assez basique.

Par contre, concernant la liaison avec Oracle (liaison local) j'ai bcp de mal .Et Access, il faut le reconnaitre n'est pas ce qu'il y a de mieux pr respecter les contraintes d'intégrité .
Tu as déja essayé ?

Commentaire de superpa le 05/01/2004 10:51:22

En théorie, il suffit de changer la chaîne de connexion. Mais je n'ai jamais essayer.
Je sais aussi quand dans la version du framework .NET fournie avec VS .NET 2003, il y a un provider optimisé pour Oracle. Faudrait te renseigner

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

fichier txt [ par kedric ] bonjourd comment pouvont nous faire pour ouvrire un fichier txt sans passer par une fenetre showdialog pour aficher le text dans une textbox merci d a Executer.... [ par CracK ] Je cherche à associer à un bouton par exemple la fonction qui me permetterai d'executer un fichier txt, mpg ou autres .... private void button1_Click [C#] Nom de fichier dans un textBox [ par jeffwow ] Donc, j'ouvre un fichier avec OpenFileDailog... jusque là ça va. Ensuite, je voudrais prendre le nom de ce fichier et l'envoyer dans un textBox. tex C# Enregistrer dans un fichier text [ par dib.fred ] voila je voudrai bien pouvoir enregister dans un fichier txt des donnees(string) qui viennent de textBox.je cree un fichier:FileStream fs =new FileSt charger un fichier txt sans opendialogFile [ par gwady ] Bonjour,Voila je voudrais affficher le contenu d'un fichier texte dans une richTextBox. J'ai déjà regardé les aides données à d'autres personnes mais, Lire et Écrire dans un fichier texte [ par Ti_Math ] Jai fait des recherche sur le forum autant dans dll que dans la section IO du forum mais jai pas tout a fait trouver ce que je voulais. (Si c'était dé Acces fichiers... conflits !!! [ par SW_87 ] Bonjour , Je d&#233;veloppe plusieurs petites applications en C# (asp.net) qui &#233;crivent et lisent dans des fichiers txt. Malheureusem Copier un fichier txt situé sur serveur [ par mike97422 ] Bonjour, Je cherche &#224; copier le contenu d'un fichier txt (fic1.txt) situ&#233; sur un serveur, dans un fichier en local&nbsp; (fic2.txt) en &#23 uploader un txt dans un bd access [ par Sead ] Voil&#224; tout est dans le titre, j'aimerais donc uploader un txt ou un xls dans access. Ce qui ouvrirait l'import wizard d'access afin d'importer le [Appli Windows][c#] Lire des infos dans un fichier texte (txt) formaté puis les traités et les exporté sur mysql [ par Julos59 ] Bonjour voila j'ai une question multiple qui se complique au fur rt a mesure :-)Je débute en c# donc ma première partie de question est simple.J'ai un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales