我是学生,我不擅长编程。 我在每个玩家的mysql数据库中保存了图像。我创建了一个程序,我可以从我的数据库中列出一些足球运动员。当我点击datagrid中列出的播放器时,会出现一个新窗口,其中包含有关播放器的信息。一切正常,但现在我希望所选播放器的图片显示在数据库的信息窗口中。有谁能够帮我?我的英语不是最好的(我17岁),所以我希望你能理解我的意思。
这是我试图做但我不知道如何继续。 PS。它在WPF中。
MySqlCommand cmd = new MySqlCommand("SELECT Bilder FROM spieler WHERE Bilder='{8}'");
MySqlDataReader rdr1 = cmd.ExecuteReader();
try
{
conn.Open();
while (rdr1.Read())
{
// image1... I don't know what to write here
}
}
catch (Exception ex)
{
MessageBox.Show("Fehler: " + ex);
}
rdr1.Close()
答案 0 :(得分:1)
事先使用byte[]
投射来获取它:
while (rdr1.Read())
{
byte[] data = (byte[])reader[0]; // 0 is okay if you only selecting one column
//And use:
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(data))
{
Image image = new Bitmap(ms);
}
}
<强>更新强>
在WPF中,使用BitmapImage
:
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(data))
{
var imageSource = new BitmapImage();
imageSource.BeginInit();
imageSource.StreamSource = ms;
imageSource.CacheOption = BitmapCacheOption.OnLoad;
imageSource.EndInit();
// Assign the Source property of your image
yourImage.Source = imageSource;
}
答案 1 :(得分:0)
您保存图片的列类型是什么? 你可以试试这样的事情
Image tmp = ImageConverter.ConvertFrom(rdr1.GetStream("photo"));
其中照片是列的名称