以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何将二进制数组写到外部数据库中? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75002) |
-- 作者:新福星 -- 发布时间:2015/9/24 11:28:00 -- [求助]如何将二进制数组写到外部数据库中? 有一个二进制数组buff1 (256Byte),希望把这些数据写入到Access数据库中。 按要求在外部数据中建个表,加一列数据类型为OLE对象,且此列并未加载。 SQLSetValue(Filed,Value)用这条语句写入出现错误! 如果改用SQL语句的Update语另,无法拼成SQL字串。 求助如何把二进制数组写到外部数据库指定表列中呢?谢谢
[此贴子已经被作者于2015/9/24 11:30:28编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/9/24 11:30:00 -- 什么二进制数组?
http://www.foxtable.com/help/topics/2950.htm
|
-- 作者:新福星 -- 发布时间:2015/9/24 11:31:00 -- 就是dim buff1(256) as byte |
-- 作者:新福星 -- 发布时间:2015/9/24 11:33:00 -- 帮助中介绍了两种方式 一种是图片 一种是附加的Word文件。如果是纯二进制数组,该如何写入呢? |
-- 作者:大红袍 -- 发布时间:2015/9/24 11:34:00 -- 直接保存成字符。参考
Dim str As String = "联想Aabc"
\'----------------转回去
Dim strAry() As String = nstr.Split(",") |
-- 作者:新福星 -- 发布时间:2015/9/24 11:39:00 -- 这个前题是str字串是有效的字符。随机二进制转换成字符时会有很多非法字符,有了这些非法字符时, dr.SQLSetValue("列名1",zwzc1)这个语句就会告警的。 Dim buff1(256) As Byte Dim buff2(256) As Byte For i As Integer=0 To 255 buff1(i) = Rand.Next(100) buff2(i) = Rand.Next(100) Next 用buff1 里的数字转成字符看看,这时就出错了! |
-- 作者:大红袍 -- 发布时间:2015/9/24 11:42:00 -- 1、保存的时候转成字符串。
2、还原的时候,没必要转成字符串 |
-- 作者:新福星 -- 发布时间:2015/9/24 11:47:00 -- 哦!我明白了 转换字串时,是把0-255转换成字串,而不是取 Chr(0-255) 。这好象有点太浪费外存了! |
-- 作者:大红袍 -- 发布时间:2015/9/24 11:58:00 -- 那你也可以存入二进制列,但要用sql的update语句,把字符合并成如 0x5480F3604100 后保存。
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=8059&authorid=0&page=1&star=1
|