Hallo Leute!
Bin gerade dabei eine Programm zu schreiben womit man Bilder in einer DB abspeichern kann und dann diese auf Bedarf wieder ausgeben kann
So tue ich die Bilder in die DB laden:
Und soweit bin ich mit dem Ausgeben gekommen:
Normalerweise würde ich in einer normalen Windows Form nur :
hinschreiben müssen und das Bild würde ausgelesen werden. Nun hab ich im Internet nach möglichkeiten gesucht es umzuschreiben jedoch hab ich es bis jetzt noch nicht geschafft.
Frage: Weiß jemand wie ich die Bilder vll. anderes auslesen kann oder wie man es mit einem "Image" richtig macht?
mfg Sake_93
Jedoch gibt es in WPF die PictureBox nicht als PictureBox sondern als "Image".
Bin gerade dabei eine Programm zu schreiben womit man Bilder in einer DB abspeichern kann und dann diese auf Bedarf wieder ausgeben kann
So tue ich die Bilder in die DB laden:
Code:
private void bild_hinzu(object sender, RoutedEventArgs e)
{
OpenFileDialog filedlg = new OpenFileDialog();
filedlg.Title = "Bitte ein Bild aussuchen";
filedlg.DefaultExt = "jpg";
filedlg.FileOk += new System.ComponentModel.CancelEventHandler(filedlg_FileOK);
filedlg.ShowDialog();
}
void filedlg_FileOK(object sender, System.ComponentModel.CancelEventArgs e)
{
try
{
string selfile = (sender as OpenFileDialog).FileName;
MySqlCommand cmd = new MySqlCommand("INSERT INTO tblbild (ID,Bild) VALUES ('150',@Bild)", connect);
String strPath = selfile;
FileStream fs = new FileStream(strPath, FileMode.Open, FileAccess.Read);
Byte[] bytBlobData = new byte[fs.Length];
fs.Read(bytBlobData, 0, bytBlobData.Length);
fs.Close();
MySqlParameter prm = new MySqlParameter("@Bild", MySqlDbType.VarBinary, bytBlobData.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytBlobData);
cmd.Parameters.Add(prm);
cmd.ExecuteNonQuery();
}
catch { }
}
Und soweit bin ich mit dem Ausgeben gekommen:
Code:
conn.Open();
MySqlDataAdapter da = new MySqlDataAdapter("SELECT Bild from tblbild where ID ='150'", conn);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
byte[] content = (byte[])ds.Tables[0].Rows[0].ItemArray[0];
MemoryStream stream = new MemoryStream(content);
Normalerweise würde ich in einer normalen Windows Form nur :
Code:
picturebox1.Image = Image.FromStream(stream);
Frage: Weiß jemand wie ich die Bilder vll. anderes auslesen kann oder wie man es mit einem "Image" richtig macht?
mfg Sake_93
Jedoch gibt es in WPF die PictureBox nicht als PictureBox sondern als "Image".
Zuletzt bearbeitet: