从db显示图片到Picturebox WinForms C#
技术问答
189 人阅读
|
0 人回复
|
2023-09-12
|
我在做一个winforms应用程序将图像插入数据库(SQL Server
4 g* O# N6 E [2008),然后从数据库中检索图像到图片框。插入代码可以完美工作。试着通过窥视找到各种解决方案,但都没有成功。
" N: N. t A7 P% k这是我的检索代码; {; X. L+ S! @# y5 S- w: I U: [/ R* _
con); cmd.CommandType = CommandType.Text; object ima = cmd.ExecuteScalar(); Stream str = new MemoryStream((byte[])ima); pictureBox1.Image = Bitmap.FromStream(str); SqlDataAdapter dp = new SqlDataAdapter(cmd); DataSet ds = new DataSet();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;dp.Fill(ds); int c = ds.Tables[0].Rows.Count; if (c ==1)1) Byte[] MyData = new byte[0]MyData = (Byte[])ds.Tables[0].Rows[0]["img"]; MemoryStream stream = new MemoryStream(MyData); stream.Position = 0; pictureBox1.Image = Image.FromStream(stream); con); //cmd.CommandType = CommandType.Text; //object ima = cmd.ExecuteScalar(); //Stream str = new MemoryStream((byte[])ima); //pictureBox1.Image = Bitmap.FromStream(str); SqlDataAdapter dp = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); dp.Fill(ds); int c = ds.Tables[0].Rows.Count; if (c ==1) { Byte[] MyData = new byte[0]; MyData = (Byte[])ds.Tables[0].Rows[0]["img"]; MemoryStream stream = new MemoryStream(MyData); stream.Position = 0; pictureBox1.Image = Image.FromStream(stream); } }
0 R0 u* a& | Y5 _! x! i 解决方案:
1 z# X1 ~' f! w% R: [ 首先,您必须考虑图像数据库中的数据类型VarBinary:
T O: H* U& s4 F# E y& _3 t按钮点击事件:
, {, K* n7 q" v1 Q( M3 j2 mbyte[] getImg=new byte[0];SqlDataAdapter da = new SqlDataAdapter();SqlCommand cmd = new SqlCommand("select img from tempdb where id='" id "'",con);cmd.CommandType=CommandType.Text;DataSet ds = new DataSet();da.Fill(ds);foreach(DataRow dr in ds.Tables[0].Rows){ getImg=(byte[])dr["img"];}byte[] imgData=getImg;MemoryStream stream = new MemoryStream(imgData);pictureBox1.Image=Image.FromStream(stream);} |
|
|
|
|
|