以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  二进制列后台操作的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123118)

--  作者:凡夫俗子
--  发布时间:2018/8/8 11:01:00
--  二进制列后台操作的问题
SQL数据库,表不能按DATETABLE 加载到狐表中. 如何使用SQL语句直接操作SQL数据表中的二进制列

如何读取文件

如何将文件写入后台数据

目前 官方的例子是 针对已加载到狐表中的表

--  作者:有点甜
--  发布时间:2018/8/8 11:11:00
--  

插入图片:

 

Dim fs As New IO.FileStream("D:\\a.JPG" , IO.FileMode.Open , IO.FileAccess.Read)   \'用文件流打开图片
Dim br As New IO.BinaryReader(fs)   \'根据文件流,申明一个二进制阅读器
Dim ImageByte() As Byte = br.ReadBytes(fs.Length)   \'阅读器读取文件流,并将独到的二进制放入数组ImageByte中,
Dim ImageString As String = BitConverter.ToString(imageByte).Replace("-", "")  \' SQLCommand 不能直接Insert 二进制,只能拼接SQL语句,所以这里把二进制变成字符                                                


Dim cmd As SQLCommand = new SQLCommand()
cmd.Co n necti o nName = "SqlServerDB"
cmd.CommandText = "Insert aaa values(0x" + ImageString + ")"  \'这里的ImageString 就是前4条几句根据图片转换来的字符串
                                                              \'拼接结果为 Insert aaa values(0xFFD8FFE000104A46494600010101006000600000FFDB004………………)
cmd.ExecuteNonQuery()

 

 


--  作者:有点甜
--  发布时间:2018/8/8 11:12:00
--  

读取显示图片

 

Dim cmd As SQLCommand = new SQLCommand()
cmd.ConnectionName = "SqlServerDB"
cmd.CommandText = "select 照片列 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      \'显示图片


--  作者:凡夫俗子
--  发布时间:2018/8/8 11:25:00
--  
谢谢
--  作者:凡夫俗子
--  发布时间:2018/8/8 11:35:00
--  
请问读取 二进制列输出.XLS文件又如何写代码呢
--  作者:有点甜
--  发布时间:2018/8/8 11:41:00
--  
Dim bs() As Byte = cmd.ExecuteScalar()    \'查询数据,并存入字节数组
Dim ms As New IO.FileStream("d:\\000.xls", IO.FileMode.Create)
ms.Write(bs, 0,bs.length)
ms.close