以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQL 2008存储图片是用二进制 字段uniqueidentifier  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83024)

--  作者:chinawangsa
--  发布时间:2016/3/29 21:09:00
--  SQL 2008存储图片是用二进制 字段uniqueidentifier
SQL 2008存储图片是用二进制 字段uniqueidentifier 类型,存储的。别人存储的。我现在想用FB读取出来图片,想问下怎么读取。能读取出来吗。
  GUID 这样的列来的。不知道FB能不能读取并显示图片出来。

--  作者:大红袍
--  发布时间:2016/3/29 21:13:00
--  

 参考

 

http://www.foxtable.com/help/topics/2950.htm

 


--  作者:chinawangsa
--  发布时间:2016/3/29 21:36:00
--  
pbx.Image = Tables("员工").Current.DataRow.SQlLoadImage("照片")  用这个根本没法读取
--  作者:大红袍
--  发布时间:2016/3/29 23:00:00
--  
 报什么错啊?
--  作者:大红袍
--  发布时间:2016/3/29 23:05:00
--  

或者,用sql语句读取

 

Dim cmd As SQLCommand = new SQLCommand()
cmd.ConnectionName = "SqlServerDB"
cmd.CommandText = "se lect 照片列 from 员工表 where 姓名 = \'张三\'"

Dim imageByte() As Byte = cmd.ExecuteScalar()    \'查询数据,并存入字节数组

Dim ms As New IO.MemoryStream(imageByte)       \'将字节数组转换为二进制流
Dim image As Image = Image.FromStream(ms)      \'将二进制流转换为图片
e.Form.Controls("PictureBox1").Image = image      \'显示图片


--  作者:chinawangsa
--  发布时间:2016/3/30 8:15:00
--  


错误提示是:运行错误  
无法将类型为“System.Guid”的对象强制转换为类型“System.Byte”。


--  作者:chinawangsa
--  发布时间:2016/3/30 8:20:00
--  
后台数据列字段显示是:be53c508-c9a5-4483-a48b-63f5f3734d75  怎么转换为图片显示出来
--  作者:Hyphen
--  发布时间:2016/3/30 9:04:00
--  
图片点击可在新窗口打开查看这是GUID,不是图片
--  作者:Hyphen
--  发布时间:2016/3/30 9:06:00
--  
GUID这样用
Dim id As Guid = Tables("员工").Current.Datarow("uniqueidentifier字段名称")

--  作者:Hyphen
--  发布时间:2016/3/30 9:08:00
--  
sqlserver中图片存储应该是image类型的