VB中,有一个控件可以将内容二进制保存到数据库,如果在保存时修改? 100

dimbufferasvariantxTable.saveToBufferbuffer‘表格保存为二进制流‘这个buffer会保存到数据库'以后再xTable.Openf... dim buffer as variant
xTable.saveToBuffer buffer ‘表格保存为二进制流
‘这个 buffer 会保存到数据库
'以后再 xTable.OpenfromBuffer buffer 打开

如何对这个 buffer 进行修改,比如添加点东西后保存,下次读出来再修改回去,坐等。

目的是避免别人通过读数据库打开存储的东西。
其实主要问题是不知道怎么操作VB里的二进制变量。
展开
 我来答
scudsoft
2016-09-10 · TA获得超过116个赞
知道小有建树答主
回答量:162
采纳率:50%
帮助的人:93.8万
展开全部
先说保存,将你的二进制文件先加工成你要存的内容,其实也就是写二进制文件的操作了,比如说你在第几个字节起,开始插入乱码,加入你的自定义内容,这些内容固定就行了,有几个字节要记清楚,相当于是把你的二进制文件分为两部分,在中间加入你要加的内容,
再说读取
既然是以二进制流存到表中的,读出来的时候,就for binary输出到二进制文件,输出时使用二进制方式,输出文件分成三段,第一段就是开始到你插入内容的那个字节结尾,第二段就是你加的内容的字节数,第三段是你插入内容的最后一个字节末尾开始到文件结尾,然后将你添加的字节也就是第二段去掉,再把一三两段合成一个文件
追问
谢谢用心的回答,原理都清楚。做.net的,对vb流不熟悉,能给一两行代码就好了。
追答
好吧,分两部分给你说,
假设你要将C盘根目录一个123.mp3文件加工后存入数据库
第一步,文件分割与
dim strfilename as string,file1 as string,file2 as string
dim aryfile() as byte
strfilename="c:\123.mp3"
file1="c:\123_1.mp3"
file2="c:\123_2.mp3"'这两个就是分割后要存的文件
open strfilename for binary as #1'二进制方式读文件
open file1 for binary as #2'二进制方式读文件
open file2 for binary as #3'二进制方式读文件
redim aryfile(5-1)'这里的5就是你要分割的字节数,也就是读取文件到这里时,输出一个文件
get #1,1, aryfile
put #2,,aryfile'输出到文件file1
close #2
redim aryfile(lof(1)-5-1)
get #1,5+1,aryfile
put #3,,aryfile'输出到file2
close #3
'这个就得到了两个分割开的文件

第二步,合成文件
dim file1 as string,file2 as string,file3 as string,cfile as string
dim aryfile() as byte
file1.....'这三个路径我就不写了,file3即是你要加入的内容了,cfile则是要合成输出的文件
open file1 for binary as #1
…………#2
.....#3'合成的那个文件号
redim aryfile(lof(1)-1)
get #1,,aryfile
put #3,,aryfile
close #1
redim aryfile(lof(2)-1)
get #2,,aryfile
put #3,,aryrile
close #2
close #3
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式