以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  从类型“Guid”到类型“Byte”的转换无效。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84927)

--  作者:chinawangsa
--  发布时间:2016/5/13 10:20:00
--  从类型“Guid”到类型“Byte”的转换无效。
我后台SQL数据库一个表的列的数据类型是uniqueidentifier ,现在我查询出来。但每次取值这列都提示
从类型“Guid”到类型“Byte”的转换无效。
想问这列数据类型。我在FB里应怎样去定这个数据类型
Dim xsdh As String
xsdh=e.Table.Current.DataRow("cguid")
Dim ttr As WinForm.TextBox = e.Form.Controls("TextBox1")
ttr.text=xsdh 

以上总是错误;

--  作者:大红袍
--  发布时间:2016/5/13 10:30:00
--  

尝试改成

 

Dim xsdh As String
xsdh=e.Table.Current.DataRow("cguid").ToString
Dim ttr As WinForm.TextBox = e.Form.Controls("TextBox1")
ttr.text=xsdh 

--  作者:chinawangsa
--  发布时间:2016/5/13 10:50:00
--  
刚才上面的查询。取值是可以取出来并显示了。但现在如下到SQL 语名里。又运行不下去了。再请教下。谢!
Dim logp As WinForm.PictureBox = e.Form.Controls("PictureBox1")
Dim drrt As DataRow=DataTables("AA_PICTURE").SQLFind("[cguid] = \'" & xsdh & "\' ")
If drrt IsNot Nothing Then \'
MessageBox.Show(" " & drrt("cguid") & " ")
\'logp.Image = drrt.SQlLoadImage("picture") \'从后台提取照片并显示
End If

--  作者:大红袍
--  发布时间:2016/5/13 11:01:00
--  
提示什么错啊?加上 drrt("cguid").toString()啊
--  作者:大红袍
--  发布时间:2016/5/13 11:04:00
--  

sqlfind的行不能直接用SQlLoadImage。

 

你改成用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/5/13 12:38:00
--  
好了。非常感谢老师的解答。