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 :

insertion de fichier word dans sql server/access


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut insertion de fichier word dans sql server/access
    salut;
    est il possible d'inserer un document word dans sql server ou access???
    merci de me donner un exemple
    j'ai trouvé comment insérer une image mais je ne sait pas comment faire pour les documents word (et les autres types de fichiers en général) car mon problème c'est dans la recupération du fichier à partir du stream car l'image dans sql server par exemple est stocké comme byte[] .
    si quelqu'un a une idé merci pour l'aide.

  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 : 43
    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
    Par défaut
    C'est exactement le même principe que pour une image... et d'ailleurs c'est pareil pour n'importe quel type de fichier !
    Il suffit de charger le fichier dans un tableau de byte, et de l'insérer dans la base.

  3. #3
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    tomlev a tout à fait raison, tu peux enregistrer n'importe quel fichier en base de données tant que tu arrives à le convertir en un flux de byte.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    System.IO.FileInfo fs = new System.IO.FileInfo(@"C:\Users\Jérôme\Documents\file.txt");
    using (System.IO.FileStream stream = fs.Open(System.IO.FileMode.Open))
    {
        byte[] array = new byte[stream.Length];
        stream.Read(array, 0, array.Length);
        foreach (byte b in array)
            Console.Write(b);
    }

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Citation Envoyé par Cardi Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        byte[] array = new byte[stream.Length];
    ouf, mais c'est affreux ! (imaginons, un film de 600 Mo ...)
    il n'y a pas de méthodes pour rajouter des fichiers avec une taille de buffer fixe ?(genre 16 Ko ...)

  5. #5
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    bon pour l'écriture dans la base j'ai la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     /// </summary>
            /// <param name="filePath">Chemin de l'image</param>
            /// <returns>L'image sous forme de byte[]</returns>
            public byte[] GetImage(string filePath)
            {
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);
                byte[] img = br.ReadBytes((int)fs.Length);
                br.Close();
                fs.Close();
                return img;
            }
    mais pour la lecture???
    je pense que c'est comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                            File.WriteAllBytes(Application.StartupPath + "\\fichiers\\a.doc", (Byte[])dr[0]);

  6. #6
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    c'est excellent sa marche très bien
    merci pour tous pour vos aides

  7. #7
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Citation Envoyé par smyley Voir le message
    ouf, mais c'est affreux ! (imaginons, un film de 600 Mo ...)
    il n'y a pas de méthodes pour rajouter des fichiers avec une taille de buffer fixe ?(genre 16 Ko ...)
    Tu veux dire faire du streaming ?

  8. #8
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Oui, pour ne pas être un jour surpris par un OutOfMemoryException en essayant d'ajouter un gros fichiers dans la base ...

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

Discussions similaires

  1. stocker un fichier (.doc) dans sql server
    Par otyv84 dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2010, 15h43
  2. import fichier txt dans sql server
    Par casa51 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 28/09/2009, 23h53
  3. insertion date et heure dans SQL server
    Par robinash dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 16/01/2008, 17h40
  4. enregistrer un fichier texte dans sql server
    Par nezha1977 dans le forum ASP
    Réponses: 1
    Dernier message: 27/12/2007, 19h46
  5. syntaxe d'insertion d'une variable dans SQL Server
    Par hariri dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/04/2007, 17h00

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