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

VB.NET Discussion :

inserer une image dans SQL SERVER VIA VS 2008


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 14
    Par défaut inserer une image dans SQL SERVER VIA VS 2008
    Bonjour je suis débutant en Visual Studio 2008.
    J'ai un souci, j'aimerais enregistrer une image qui s'affiche dans un picturebox dans ma base de données SQL Server 2005. Quelqu'un peut il me donner une aide?
    J'ai lu des codes ici que j'arrive pas à comprendre. Quel type dois-je utiliser pour stoker l'image et comment pourrais je l’insérer dans la base de données via VS et comment l'imprimer par crystal report.
    Merci

  2. #2
    Membre très actif Avatar de hi-wave
    Inscrit en
    Décembre 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 136
    Par défaut
    salut.
    je suis pas vraiment un as avec SQL server, mais j'ai bossé sur un projet qui du même style où il fallait stocker des images. dans une BD.
    on s'est imaginé 2 possibilités.
    1- enregistrer les images dans un dossier et stocker les chemins de chaque fichier dans la base de donnée.
    2- décomposer les images en flux binaire(ou octet je ne me rappel plus) et enregistrer ceux-ci dans la BD.

    on a opter pour la 1ere un peu plus facile. ce sont juste des pistes

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 26
    Par défaut
    Citation Envoyé par hi-wave Voir le message
    1- enregistrer les images dans un dossier et stocker les chemins de chaque fichier dans la base de donnée.
    +1

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Hello,

    moi personnellement je ne suis pas pour stocker dans un répertoire et je l'ai déjà dit dans cette discussion :
    Chez nous on à utilisé les deux méthodes dans deux programmes différents et personnellement je préfère la solution de la base de donnée en entreprise.
    Car dans le premier cas, le stockage dans un dossier :
    - il faut faire une gestion des droits d'accès à ce dossier en parallèle à celui de la BD
    - Lorsque l'on demande de remonter la bd à un point de sauvegarde précis c'est galère car certaine image n'existe plus...

    Bref, pour ma part j'ai l'impression que la sauvegarde dans la bd, bien gérée qui permet d'avoir une seule photo réutilisée à plusieurs endroit, n'est pas plus lourde que la solution du dossier et facilite la maintenance...

    Mais comme d'hab, ca reste un avis perso
    La gestion des droits d'accès est plus galère car si vous mettez ca sur votre serveur en mode public pour que tout ceux qui utilise l'application puisse y avoir accès, il y aura toujours un petit malin pour venir effacer des photo dedans, et bien gérer les droits d'accès à ce genre de dossier est galère...

    L'export des images dans une base de donnée n'est pas difficile, d'ailleurs il y a des tutos la-dessus sur d'autres sites, dont au moins un très bon.

    et l'auteur est du même avis que moi :
    Une base de données SQL SERVER dans laquelle on insère des images jpeg. Beaucoup de développeurs diront que c’est une erreur.
    Pour ma part, je n’avais pas d’avis sur la question alors je me suis renseigné et j’ai testé.

    Voici d’ailleurs, un exemple de commentaire de ce que j’ai trouvé sur les NewsGroups qui me semble résumer l’intérêt de cette solution.
    « Il y a des situations où cela s'avère être une excellente idée. Notre application (médicale), utilisée (entre autres) par les huit plus grands hôpitaux de Norvège, stocke les images associées aux patients dans une DB SQL Server.
    Nous avons choisi d'utiliser un serveur dédié (lié) pour y enregistrer les images, séparé du serveur d'exploitation contenant les données de patients proprement dites et nous ne ferions marche arrière (retour vers un file system) sous aucun prétexte.
    La gestion des backups est uniforme, l'insertion d'une image dans un dossier patient peut être partie intégrante d'une transaction (la solution avec file system obligeant à recourir à une mécanique beaucoup plus complexe, basée sur MTS, par exemple), l'écriture de l'application client en est simplifiée ... »

    Ce qui en ressort finalement c’est que, loin d’être une solution à proscrire, il y a beaucoup de cas ou cette solution facilite grandement notre pauvre vie de programmeur.
    Alors, et pour ceux que ça intéresse (même à titre purement pédagogique), voici l’exemple d’une gestion d’images stockées dans une table SQL SERVER développé avec Visual Studio Net et le langage Vb.Net.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 14
    Par défaut Merci les amis
    Je vais essayer chacune des méthodes et je vous donnerai la suite. Je sais compter sur votre aide. Merci bien

  6. #6
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 14
    Par défaut Avoir un exemple de code
    Pourrais-je avoir un exemple de code concernant l'insertion dans une base de données? Merci de m'aider

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    regarde ce tuto : http://www.codersource.net/asp-net/a...ql-server.aspx
    C'est en C# mais c'est facilement compréhensible.
    Le code qui t’intéresse est la partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    byte[] arrImage = mstr.GetBuffer();
    string cmd = "insert into Picture (PictureName, Picture) values (@PName, @Pic)";
    SqlConnection c = new SqlConnection(c_string);
    SqlCommand comm = new SqlCommand(cmd,c);
    comm.Parameters.Add( new SqlParameter("@PName", SqlDbType.VarChar,40)).Value = name;
    comm.Parameters.Add( new SqlParameter("@Pic",SqlDbType.Image)).Value = arrImage;
    Le tuto est complet, tu devrais pouvoir tout comprendre (si j'y suis arrivé c'est que c'est pas sorcier)
    Si tu as des questions, n'hésites pas.

Discussions similaires

  1. inserer une image dans sql server
    Par marwa21 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/03/2011, 15h35
  2. [PHP 5.0] Probleme d'affichage d'une image dans SQL SERVER
    Par stentorus dans le forum Langage
    Réponses: 2
    Dernier message: 23/08/2010, 17h20
  3. Inserer une image dans un textbox via Copier -> Coller ?
    Par XpFive dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/06/2008, 23h24

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