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 :

[VS2005] insertion d'images dans une base access


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 8
    Points
    8
    Par défaut [VS2005] insertion d'images dans une base access
    bonjour à tous^^

    voila j'ai créer une interface qui permet de communiquer avec une base de donnée MS-Access. J'interagis avec la base de donnée par le biais de commandes SQL. Mon problème est que je ne sais pas comment faire pour pouvoir insérer des images dans la base de donnée par commandes SQL. Si quelqu'un connait bien une méthode ça sera sympa de me la faire connaitre.
    Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Je n'en suis pas sûr mais je pense que tu ne peux pas insérer directement des images.

    Perso, j'y mettrais le chemin d'accès. Et avec ça, tu vas chercher tes images où qu'elles soient.

    En plus, ça prend moins de place dans la DB

    Griftou.
    Kropernic

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    il faut enregistrer le flux d'octet de l'image
    essaye avec un memorystream (pas sur) sinon certains utilise le codage base64 je crois, j'ai deja vu des sujets similaires sur le forum (utilise le bouton recherche)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2005
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    J'utilise une base access dans le développement et comme le le dit Griftou, l'y mets seulement le chemin d'accès aux images que je je stocke dans un dossier à part.
    Cela évite d'avoir une base trop lourde.

    Amicalement

    Botanique

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    ça doit être un truc dans le genre:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Tableau d'octets representant l'image au format jpeg
    MemoryStream mstImage  = new MemoryStream();
    monImage.Save(mstImage, System.Drawing.Imaging.ImageFormat.Jpeg);
    Byte[] bytImage = mstImage.GetBuffer();
     
    // Connexion à la base de test
    OleDbConnection accessImage = new OleDbConnection("ma chaine de connexion");
    accessImage .Open();
    // Insere l'image dans la base
    OleDbCommand cmdTestAccessImage = new OleDbCommand("INSERT INTO IMAGES([Image]) VALUES (?)", accessImage );
    cmdTestAccessImage.Parameters.Add(new OleDbParameter("Image", OleDbType.VarBinary, bytImage.Length, 
    ParameterDirection.Input, false, 0, 0, null,DataRowVersion.Current, bytImage));
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Points : 124
    Points
    124
    Par défaut
    Moi je sais que durant mes études de BTS j'ai voulu créer une bibliothèques de films et je voulais donc ajouter les affiches des films et mon professeur d'informatique qui a fait une formation ACCESS m'a dit qu'il n'était pas possible d'ajouter l'image elle même mais seulement son chemin d'accès et en plus de cela le chemin d'accès est complet et non relatif (la veine )

    En tout les cas depuis je n'ai jamais réessayer car je me suis persuader que cela n'était pas possible mais jamais tu avais une solution n'hésites pas à nous laisser le résultat

    Bonne chance

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    Citation Envoyé par D4rkTiger Voir le message
    En tout les cas depuis je n'ai jamais réessayer car je me suis persuadé que cela n'était pas possible mais si jamais tu avais une solution n'hésites pas à nous laisser le résultat

    Bonne chance
    soit tu n'as pas lu le code jsute au dessus de ton post, soit tu ne l'as pas compris
    parce que ce code m'a tout l'air de stocker une image entière dans une base access (ou autre d'ailleurs)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Citation Envoyé par D4rkTiger Voir le message
    mon professeur d'informatique qui a fait une formation ACCESS m'a dit qu'il n'était pas possible d'ajouter l'image elle même mais seulement son chemin d'accès et en plus de cela le chemin d'accès est complet et non relatif (la veine )
    heu....si tu veux mettre le chemin de l'image tu fais un champs varchar et tu mets ce que tu veux dedans, chemin complet ou relatif, c'est toi qui gère.

    Citation Envoyé par D4rkTiger Voir le message
    En tout les cas depuis je n'ai jamais réessayer car je me suis persuader que cela n'était pas possible mais jamais tu avais une solution n'hésites pas à nous laisser le résultat
    Je viens de la poster juste au dessus.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  9. #9
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Points : 124
    Points
    124
    Par défaut
    Cool alors je n'avais pas tout compris en effet. Je vais pouvoir réessayer de faire ma base access avec ça.

    Je m'excuse d'avoir dit tout ces .... bétises ^^ mais moi quand j'avais essayé je n'avais pas réussi et étant donné que mon prof était calé dans le domaine je lui ai fait confiance mais je vois qu'il y a quand même une méthode donc ben je vais m'y remettre.

    Merci pour ce code qui va bien m'aider

Discussions similaires

  1. Insertion d'image dans une base
    Par guy_antoine_mav dans le forum C#
    Réponses: 6
    Dernier message: 04/12/2009, 16h48
  2. Insertion des données dans une base access 2007
    Par guy_antoine_mav dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/11/2009, 21h34
  3. [MySQL] Insertion d'image dans une base MySQL à partir d'un formulaire
    Par WPH2009 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/10/2009, 18h13
  4. image dans une base access
    Par ptiyo dans le forum Windows Forms
    Réponses: 6
    Dernier message: 29/11/2007, 14h08
  5. [MySQL] Insertion d'image dans une base de données
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2006, 14h59

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