以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 显示图片 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160952) |
-- 作者:sanny -- 发布时间:2021/2/27 13:55:00 -- [求助] 显示图片 老师, 如图窗口,可否根据 单号 找到并显示后台数据库表A中二进制 列名 “附件 ”中的图片,在后台表A中存在这样的相同单号有很多,这相同的单号有的附件中没有图片,有的有图片,只要显示 附件中有图片的第一条记录的图片。 以下的试写了一下,感觉不对的。谢谢老师。 [此贴子已经被作者于2021/3/27 13:00:52编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/2/27 14:34:00 -- Dim val As Integer Dim cmd As New SQLCommand cmd.ConnectionName = "数据源名称" cmd.CommandText = "Select [_Identify] From {生产任务单} Where and 生产任务单号=\'" & e.Form.Controls("TextBox1").Text & "\' DATALENGTH(附件) > 0" val = cmd.ExecuteScalar() if val > 0 then dim dr as datarow = dataTables("表A").find("_Identify=" & val) if dr is nothing then dr = dataTables("表A").appendload("_Identify=" & val)(0) end if Dim pbx As WinForm.PictureBox = Forms("pic").Controls("PictureBox1") pbx.Image = dr.SQlLoadImage("附件") end if
|
-- 作者:sanny -- 发布时间:2021/2/27 15:42:00 -- 老师, 表A 是在后台中的,也就是下面的表 SDBC_Sa, 你的我试了一下,可不行。 我改成如下也不对,如图。请帮忙看看,麻烦了。 [此贴子已经被作者于2021/3/27 13:01:05编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/2/27 17:11:00 -- SDBC_Sa就是"生产任务单"?如果不是,有没有作为外部表加载进来? [此贴子已经被作者于2021/2/27 17:11:46编辑过]
|
-- 作者:sanny -- 发布时间:2021/2/27 20:14:00 -- !
[此贴子已经被作者于2021/3/27 19:38:50编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/2/28 20:40:00 -- SDBC_Sa有没有作为外部表加载进来?如果没有是无法使用SQlLoadImage的。使用sql获取 Dim val As Integer
Dim cmd As New SQLCommand cmd.ConnectionName = "数据源名称" cmd.CommandText = "Select top 1 附件 From {SDBC_Sa} Where BarcodeData =\'" & e.Form.Controls("TextBox1").Text & "\' DATALENGTH(附件) > 0" Dim dt As DataTable = cmd.ExecuteReader if dt.datarows.count > 0 then Dim imagebytes As Byte() = dt.DataRows(0)("附件") Dim stream As System.IO.Stream = New System.IO.MemoryStream(imagebytes) Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream) Dim pbx As WinForm.PictureBox = Forms("pic").Controls("PictureBox1") pbx.Image = bmp end if |
-- 作者:sanny -- 发布时间:2021/2/28 22:35:00 -- 感谢老师,可以了,不过图片太小了,如何放大点,另外可以预览吗 ,另外可以另存到Excel 吗 ? 谢谢。 |
-- 作者:有点蓝 -- 发布时间:2021/2/28 22:52:00 -- 原来保存的的文件是多大,取出来也多大,保存为本机文件参考: Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream) bmp.save("d:\\123.jpg")
|
-- 作者:sanny -- 发布时间:2021/3/1 23:06:00 -- 谢谢老师,这个 名字 123 ,如何改成当前的单号的名字 ? 另外如何打印预览 ? 谢谢, |
-- 作者:有点蓝 -- 发布时间:2021/3/1 23:22:00 -- bmp.save("d:\\" & dt.DataRows(0)("单号") & ".jpg") 图片只能是打开后使用系统的看图软件打印。或者放到execl版本,专业报表等打印
|