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

C# Discussion :

Afficher image SQL via c#


Sujet :

C#

  1. #1
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut Afficher image SQL via c#
    Bonjour.

    Je voudrais afficher une image qui est contenue dans une base de données SQL. Le souci, c'est que je sais afficher du texte, mais j'ai aucune idée de comment faire pour afficher une image (quelle type, quelle commande etc...).

    Je vous remercie de votre aide
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    J'ai trouver ce lien mais j'ai du mal a comprendre le code
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  4. #4
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Oups pas vu votre message GuruuMeditation désolé je regarde sa tout de suite
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  5. #5
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    En gros si j'ai bien compris, il faut que je fasse un Cast ?
    L'image est stocké en byte c'est sa ?
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  6. #6
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Je vous donne mon code pour mieux visualiser se que je voudrais faire :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Data.SqlClient;
    using System.Data;
    using System.IO;
    using System.Web;
     
    namespace VisualWebPartProject2.VisualWebPart1
    {
        public partial class VisualWebPart1UserControl : UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                try
                {
                    SqlConnection sqlConn = new SqlConnection("Data Source=APPRENTI_INFO\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=test;initial catalog=test;user id=admin;password=montoya2001;Connect Timeout=10");
                    SqlDataAdapter sqlAdapt = new SqlDataAdapter(@"SELECT * FROM Table_1", sqlConn);
                    SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(sqlAdapt);
                    DataSet sqlSet = new DataSet();
                    sqlAdapt.Fill(sqlSet, "Table_1");
     
                    foreach (DataRow dr in sqlSet.Tables["Table_1"].Rows)
                    {
                        LB_affichage.Text += "<DIV class=ms-rte-layoutszone-inner>";
                        LB_affichage.Text += "<TABLE style=\"TEXT-ALIGN: justify; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: rgb(214,229,249); WIDTH: 782px; FONT-FAMILY: 'trebuchet ms'; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; BORDER-LEFT-WIDTH: 0px\" class=ms-rteTable-6 border=0 cellSpacing=2 cellPadding=1>";
                        LB_affichage.Text += "<TBODY>";
                        LB_affichage.Text += "<TR class=ms-rteTableEvenRow-6>";
                        LB_affichage.Text += "<TD style=\"WIDTH: 153px\" class=ms-rteTableEvenCol-6>Nom du jeu</TD>";
                        LB_affichage.Text += "<TD class=ms-rteTableOddCol-6><SPAN style=\"FONT-WEIGHT: bold\">" + "<h3>" + "<font color=\"blue\">" + dr["Nom"].ToString() + "</font>" + "</h3>" + "</SPAN></TD></TR>";
     
                        LB_affichage.Text += "<TR class=ms-rteTableOddRow-6>";
                        LB_affichage.Text += "<TD class=ms-rteTableEvenCol-6>Console</TD>";
                        LB_affichage.Text += "<TD class=ms-rteTableOddCol-6 align=left><SPAN>" + dr["Console"].ToString() + "</SPAN></TD></TR>";
     
                        LB_affichage.Text += "<TR class=ms-rteTableEvenRow-6>";
                        LB_affichage.Text += "<TD class=ms-rteTableEvenCol-6>Jaquette</TD>";
                        LB_affichage.Text += "<TD class=ms-rteTableOddCol-6><SPAN>" + dr["Image"].ToString() +  "</SPAN></TD></TR>";
     
                        LB_affichage.Text += "<TR class=ms-rteTableOddRow-6>";
                        LB_affichage.Text += "<TD class=ms-rteTableEvenCol-6>Prix</TD>";
                        LB_affichage.Text += "<TD class=ms-rteTableOddCol-6><SPAN>" + dr["Prix"].ToString() + "</SPAN></TD></TR>";
     
                        LB_affichage.Text += "<TR class=ms-rteTableEvenRow-6>";
                        LB_affichage.Text += "<TD class=ms-rteTableEvenCol-6>Pocesseur</TD>";
                        LB_affichage.Text += "<TD class=ms-rteTableOddCol-6><BR>" + dr["Possesseur"].ToString() + "</TD></TR>";
     
                        LB_affichage.Text += "<TR class=ms-rteTableOddRow-6>";
                        LB_affichage.Text += "<TD class=ms-rteTableEvenCol-6>Avis sur le vendeur</TD>";
                        LB_affichage.Text += "<TD class=ms-rteTableOddCol-6>" + dr["Avis"].ToString() + "</SPAN></TD></TR>";
     
                        LB_affichage.Text += "</DIV>";
                    }
                    sqlConn.Close();
                }
                catch (Exception eMsg1)
                {
                    //En cas d’erreur on affiche le message d’erreur
                    LB_affichage.Text = "Erreur durant l’execution de la requete : " + eMsg1.Message;
                }
            }
        }
    }
    Et ça me donne sa :



    On est d'accord c'est bidon au niveau des données et du graphique mais c'est juste pour essayer. Mon image rend "System.Byte[]". Il faut que je cast sa ?
    Images attachées Images attachées  
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    ben tes images sont stocker en quoi? jpg? bmp?
    D'apres le lien tu dois convertir le image SQL en Bitmap cf point 8

    De plus affichier un images dans un label?
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  8. #8
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Mdr oui c'est très con

    C'est au format png.

    Edit : Je bloque au niveau de sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] data = (byte[])ds.Tables[0].Rows[0][0];
    Il me renvoie cette erreur :
    Erreur durant l’execution de la requete : Impossible de trouver la table 0
    La table 0 ?
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  9. #9
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Ton ton cas on dirait que ce serait plutôt :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sqlSet.Tables["Table_1"].Rows[0][0];
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  10. #10
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Ton ton cas on dirait que ce serait plutôt :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sqlSet.Tables["Table_1"].Rows[0][0];
    Merci de ton aide.

    Il n'aime pas du tout cette ligne

    Erreur suivante :

    Seuls une assignation, un appel, un incrément, un décrément et des expressions d'objet new peuvent être utilisés comme instruction
    J'ai cherché pas mal sur le net et il y a plein de forum ou les personnes demandent, mais ou le problème n'est pas résolu. C'est que c'est si compliqué? Je pensais que se serait quelque chose de courant
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  11. #11
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Oups, j'ai oublié une partie de la ligne. Essaye avec :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    byte[] data = (byte[])sqlSet.Tables["Table_1"].Rows[0][0];
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  12. #12
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Erreur suivante :
    Erreur durant l’execution de la requete : Aucune ligne à la position 0.

    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  13. #13
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Bizarre..Il n'y a aucune ligne dans la DB???
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  14. #14
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Bizarre..Il n'y a aucune ligne dans la DB???
    La DB ?
    Pardon mais je débute depuis peut, j'ai pas encore tout le jargon en tête
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  15. #15
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Citation Envoyé par kratoce Voir le message
    La DB ?
    Pardon mais je débute depuis peut, j'ai pas encore tout le jargon en tête
    Data Base, Base de données
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  16. #16
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Data Base, Base de données
    Merci

    Citation Envoyé par GuruuMeditation Voir le message
    Bizarre..Il n'y a aucune ligne dans la DB???
    Si justement j'ai créer une donnée :

    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

  17. #17
    Membre actif Avatar de kratoce
    Homme Profil pro
    Apprenti
    Inscrit en
    Octobre 2012
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti

    Informations forums :
    Inscription : Octobre 2012
    Messages : 270
    Points : 238
    Points
    238
    Par défaut
    Je comprend ... J'ai ma requête Where qui n'est pas bonne... Pour ça que sa ne fonctionne pas

    Mais... Toujours une erreur
    Erreur durant l’execution de la requete : Impossible d'effectuer un cast d'un objet de type 'System.Int32' en type 'System.Byte[]'.

    Voici tout mon code, j'ai surement fait une bétise, j'ai repris le code du lien bêtement et je sais pas trop ce qui merde
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    using System;
    using System.Web.UI;
    using System.Data.SqlClient;
    using System.Data;
    using Microsoft.SharePoint;
    using System.IO;
    using System.Windows.Media.Imaging;
     
    namespace VisualWebPartProject2.VisualWebPart1
    {
        public partial class VisualWebPart1UserControl : UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                SPWeb web = SPContext.Current.Web;
                {
                    try
                    {
                        SqlConnection sqlConn = new SqlConnection("Data Source=APPRENTI_INFO\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=test;initial catalog=test;user id=admin;password=montoya2001;Connect Timeout=10");
                        SqlDataAdapter sqlAdapt = new SqlDataAdapter(@"SELECT * FROM Table_1 ", sqlConn); 
                        SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(sqlAdapt);
                        DataSet sqlSet = new DataSet();
                        sqlAdapt.Fill(sqlSet, "Table_1");
     
     
                        byte[] data = (byte[])sqlSet.Tables["Table_1"].Rows[0][0];
                        MemoryStream strm = new MemoryStream();
                        strm.Write(data, 0, data.Length);
                        strm.Position = 0;
                        System.Drawing.Image img = System.Drawing.Image.FromStream(strm);
                        BitmapImage bi = new BitmapImage();
                        bi.BeginInit();
                        MemoryStream ms = new MemoryStream();
                        img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                        ms.Seek(0, SeekOrigin.Begin);
                        bi.StreamSource = ms;
                        bi.EndInit();
                    }
                    catch (Exception eMsg1)
                    {
                        //En cas d’erreur on affiche le message d’erreur
                        LB_affichage.Text = "Erreur durant l’execution de la requete : " + eMsg1.Message;
                    }
                }
            }
        }
    }
    Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!

Discussions similaires

  1. [MySQL] Afficher le résultat d'une requete variable (SQL) via PHP
    Par Kaluvn dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/03/2011, 18h02
  2. Afficher image sur une page html via c
    Par Relyss dans le forum Réseau
    Réponses: 3
    Dernier message: 17/12/2009, 11h40
  3. AU SECOURS XML AFFICHER IMAGES VIA UN NUMERO ASP
    Par rebecca007 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 14/04/2009, 15h46
  4. Réponses: 0
    Dernier message: 25/08/2008, 11h29

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