虚心求教,如何用PB将PDF存入sql server,多种方式更好!谢谢!
------解决思路----------------------
一种是存路径。
一种是转换成BLOB,存进数据库.
------解决思路----------------------
直接updateblob即可
------解决思路----------------------
这种数据也存到数据库,不怕增加数据库负担?
------解决思路----------------------
我建议把路径名存入数据库即可,没有必要把文件存进数据库.
------解决思路----------------------
那个,我觉得就算你用updateblob存进去了,在怎么读出来啊
读出来就是一串数字了啊
------解决思路----------------------
我觉得最简单的方法就是存放路径~读取,写入都方便~
------解决思路----------------------
应该能恢复原样的吧!我原来的意思是不能再pb里显示出来
------解决思路----------------------
int fnum, i, loops, ctr, ret,xh
long flen, sum_read, p_new
p_new = 0
blob b, tot_b
xh = integer(sle_1.text)
flen = filelength(sle_2.text)
fnum = fileopen(trim(sle_2.text),streammode!)
//一次最多只能读取32k,计算一共要读取几次
if flen > 32765 then
if mod (flen,32765) = 0 then
loops = flen/32765
else
loops = flen/32765 + 1
end if
else
loops = 1
end if
//循环读取文件
for i = 1 to loops
sum_read = fileread(fnum, b)
tot_b = tot_b + b
p_new = p_new + sum_read
fileseek(fnum, p_new, frombeginning!) //其实fileread可以自动定位,这句话可以去掉
next
fileclose(fnum)
connect;
insert into pic values (:xh, :tot_b);
disconnect;
connect;
updateblob pic set p_image = :tot_b where p_index = :xh;
disconnect;
//在updateblob和selectblob之前要把autocommit设置成true,要不可能出问题
这是我笔记里一段把图片写进数据库的代码,希望对你有用
------解决思路----------------------
存二进制,取进制为什么不可以?取出二进制数据之后再写到一个临时的pdf文件里就行了
------解决思路----------------------
文件存入数据库不用再说了,取出后如何在PB下显示,应该可以,我曾看到过一个东西,但没有找到,好像是个pdfview的控件,用它即可将读出的PDF文件显示出来。
------解决思路----------------------
http://blog.csdn.net/smilysoft/article/details/7095388
看下这个。
------解决思路----------------------
我有做好的上传和下载文件的函数,如果需要的话,加我qq241916400