winform中怎么调用数据库中的图片

winform中怎么调用数据库中的图片,第1张

//--用自己的初始连接 初始一个SQL连接实体

My.Data.SQLDataContext dbc = new My.Data.SQLDataContext("Data Source=.Initial Catalog=TEXTuid=sapwd=8888")

DataSet ds = null

string commads = "SELECT [name],[photo] FROM [TABE1]"

ds = dbc.GetDataSet(commads)

if (ds != null &&ds.Tables.Count >0 &&ds.Tables[0].Rows.Count >0)

{

for (int i = 0i <ds.Tables[0].Rows.Counti++)

{

try

{

//--判断字段数据是否有数据且有照片流数据

if (((Byte[])ds.Tables[0].Rows[i]["photo"]).Length >0 &&((Byte[])ds.Tables[0].Rows[i]["photo"]).Max() >0)

{

byte[] aa = (Byte[])ds.Tables[0].Rows[i]["photo"]

Bitmap bit = new Bitmap(new System.IO.MemoryStream((Byte[])ds.Tables[0].Rows[i]["photo"]))

//--保存照片

pictureBox1.Image = bit

}

}

catch (Exception ex)

{ MessageBox.Show(ex.ToString())}

ds.Clear()ds.Dispose()

}

}

试试

正式运行的时候,你的数据库与图片是与winform放在同一台机器上还是分开的,如果是同一台机器上就简单,直接读取路径显示在picturebox里就行了,如果是在不同机器上就会有点麻烦,最简单的方法是在服务器上开一个IIS之类的web服务,然后你自己创建一个网页,比如是showpic.aspx,把对应资源的id或路径传进去就显示图片,比如showpic.aspx?id=2,之后在winform里用一个WebBrowse来访问这个网页。

另一种方法,如果图片不大,也可以不存路径,直接将图像数据存在数据库里。

<img src=<%#DataBinder.Eval(Container.DataItem,"图片路径")%>id="=<%#DataBinder.Eval(Container.DataItem,"编号")%>alt=<%#DataBinder.Eval(Container.DataItem,"备注")%>/>

你的数据库里面最起码要有这几个字段,分别用来存放图片路径,编号,备注,好久没写这个了,可能有点不准确,你自己可以查查


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10008305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存