データベースからの画像の抽出(SQL Server 2008)に取り組んでいます。Grid_Loadedイベントを使用してページをロードするWPFアプリケーションを使用しています。私が見つけた例は、主にコンボボックスを使用して画像のIDを選択して表示しています。しかし、私はコンボボックスを使用したくありません。
私が作業してインターネットで見つけた数行のコードがあります。誰かが私を助けてくれれば幸いです!
private void LoadImages()
{
try
{
string connstr = @"Server=CTGPJLPC21\SQLEXPRESS;Database=testing;Trusted_Connection=True;";
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM test_table", conn))
{
dset = new DataSet();
adapter.Fill(dset);
}
DataTable dt = dset.Tables[0];
foreach (DataRow row in dt.Rows)
{
if (dset.Tables[0].Rows.Count == 1)
{
byte[] data = (byte[])dset.Tables[0].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();
myImg.Source = bi;
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}