Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 17 sur 17
  1. #1
    Membre habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 591
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

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

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 591
    Points : 3 197
    Points
    3 197
    Microsoft MVP : Visual C#

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    Par défaut

    Je vous donne mon code pour mieux visualiser se que je voudrais faire :

    Code :
    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 Benoît
    Inscrit en
    février 2003
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoît
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 722
    Points : 2 553
    Points
    2 553

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    Par défaut

    Mdr oui c'est très con

    C'est au format png.

    Edit : Je bloque au niveau de sa :
    Code :
    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
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 591
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

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

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 591
    Points : 3 197
    Points
    3 197

    Par défaut

    Ton ton cas on dirait que ce serait plutôt :
    Code C# :
    1
    2
     
    sqlSet.Tables["Table_1"].Rows[0][0];
    Microsoft MVP : Visual C#

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    Par défaut

    Citation Envoyé par GuruuMeditation Voir le message
    Ton ton cas on dirait que ce serait plutôt :
    Code C# :
    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
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 591
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

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

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 591
    Points : 3 197
    Points
    3 197

    Par défaut

    Oups, j'ai oublié une partie de la ligne. Essaye avec :
    Code C# :
    1
    2
     
    byte[] data = (byte[])sqlSet.Tables["Table_1"].Rows[0][0];
    Microsoft MVP : Visual C#

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 591
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

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

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 591
    Points : 3 197
    Points
    3 197

    Par défaut

    Bizarre..Il n'y a aucune ligne dans la DB???
    Microsoft MVP : Visual C#

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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 Benoît
    Inscrit en
    février 2003
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoît
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 722
    Points : 2 553
    Points
    2 553

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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 habitué Avatar de kratoce
    Homme Profil pro
    LP Informatique Répartie et Mobile
    Inscrit en
    octobre 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : LP Informatique Répartie et Mobile

    Informations forums :
    Inscription : octobre 2012
    Messages : 190
    Points : 140
    Points
    140

    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 :
    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!!!!

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •