Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > C#
C# Forum d'entraide sur la programmation C#. Avant de poster -> FAQ C#, Articles C#, Sources C#
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/01/2013, 09h25   #1
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 09h33   #2
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 347
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 347
Points : 2 858
Points : 2 858
Envoyer un message via MSN à GuruuMeditation
Un exemple ici : http://www.redmondpie.com/how-to-sav...rver-database/

Si tu utilises EF, c'est plus simple : http://chanmingman.wordpress.com/201...o-wpf-listbox/
__________________
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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 09h37   #3
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 09h38   #4
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 10h38   #5
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 14h17   #6
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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
Type de fichier : png Sans titre.png (8,6 Ko, 28 affichages)
__________________
Ne mangez plus de thon, il est en voie de disparition! Mangez plutôt du con, il est en voie de surpopulation!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 14h58   #7
BenoitM
Expert Confirmé
 
Homme Benoît
Inscription : février 2003
Messages : 1 658
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : février 2003
Messages : 1 658
Points : 2 783
Points : 2 783
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
BenoitM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 15h03   #8
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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 :
Citation:
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2013, 21h16   #9
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 347
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 347
Points : 2 858
Points : 2 858
Envoyer un message via MSN à GuruuMeditation
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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 09h12   #10
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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 :

Citation:
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 09h38   #11
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 347
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 347
Points : 2 858
Points : 2 858
Envoyer un message via MSN à GuruuMeditation
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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 09h56   #12
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
Erreur suivante :
Citation:
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 14h15   #13
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 347
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 347
Points : 2 858
Points : 2 858
Envoyer un message via MSN à GuruuMeditation
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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 14h54   #14
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 15h14   #15
BenoitM
Expert Confirmé
 
Homme Benoît
Inscription : février 2003
Messages : 1 658
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : février 2003
Messages : 1 658
Points : 2 783
Points : 2 783
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
BenoitM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 15h24   #16
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 16h39   #17
kratoce
Membre régulier
 
Avatar de kratoce
 
Homme
BTS SIO SLAM
Inscription : octobre 2012
Messages : 119
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : BTS SIO SLAM

Informations forums :
Inscription : octobre 2012
Messages : 119
Points : 91
Points : 91
Je comprend ... J'ai ma requête Where qui n'est pas bonne... Pour ça que sa ne fonctionne pas

Mais... Toujours une erreur
Citation:
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!!!!
kratoce est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h32.


 
 
 
 
Partenaires

Hébergement Web