Foxtable(狐表)用户栏目专家坐堂 → SQLInsertFile问题


  共有2420人关注过本帖树形打印复制链接

主题:SQLInsertFile问题

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/3 16:17:00 [显示全部帖子]

你的图片列不是二进制列吧?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/3 16:46:00 [显示全部帖子]

用sql语句插入吧。

 

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.ConnectionName = "SqlServerDB"
cmd.CommandText = "Insert aaa values(0x" + ImageString + ")"  '这里的ImageString 就是前4条几句根据图片转换来的字符串
                                                              '拼接结果为 Insert aaa values(0xFFD8FFE000104A46494600010101006000600000FFDB004………………)
cmd.ExecuteNonQuery()


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/3 17:15:00 [显示全部帖子]

不是空值,msgbox如果字符过多,就不显示了。

 

你可以用 output.show


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/3 17:59:00 [显示全部帖子]

以下是引用askbang在2015/12/3 17:28:00的发言:

此法执行时内存占用很高啊,且速度慢,觉得不可取,是否还有其他更好的办法?


那就对应的表,不要用动态fill进来的方式,你在项目把表引用进来,直接在主表那里新增一行数据。


 回到顶部