收录日期:2019/04/24 08:28:10 时间:2016/05/13 10:44:37 标签:非技术版
请问如何把图像存进数据库,并用picture控件显示出来.
如果窗口中有一个pictue控件 p_1;从数据库中检索出图像存放在一个Blob变量bb
p_1=bb就行了。
你可以打开图片的文件,然后将该文件存放一个变量中
再用
insertblob into 表
values(:变量);
在数据库中存放图片的字段必须是blob型。

例如:在数据库中有一个叫BLOB_TABLE的表,其中有两个字段分别为:
BLOB_ID INT NOT NULL PRIMARY KEY
BLOB_COL BLOB NULL
在将BLOB写入数据库之前,必须将主键值写入数据库,因此先在表中加入一个新记录,BLOB_ID的值为737,而BLOB_COL设置为NULL,然后执行如下代码:

int filenum,loops,counter
long filelen,bytes_read,new_pos
blob temp_blob,total_blob

setpointer(hourglass!)

//获取文件的长度
filelen = filelength(sle_filename.text)                                 

//指定文件为只读,filenum为该文件的句柄
filenum = fileopen(sle_filename.text,streammode!,read!,lockread!)

if filelen>32765 then 
loops = ((filelen - 1)/32765) + 1 
else
loops = 1
end if

//读文件...
for counter = 1 to loops
bytes_read = fileread(filenum,temp_blob)
total_blob = total_blob + temp_blob
next
fileclose(filenum)

updateblob blob_table set blob_col = :total_blob where blob_id = 737 using sqlca;
if sqlca.sqlcode<>0 then
messageobx('updateblob失败!',sqlca.sqlerrtext)
return
end if

当你想从数据库中取BOLB型数据时,可执行如下代码:
blob lb_blob
selectblob blob_col into :lb_blob from blob_table where blob_id = 737 using sqlca;

setpicture(p_1,lb_blob) //p_1为一PICTURE控件。
32765在这里是什么意思?
是因为fileread 和 filewrite一次只能读/写32765字节的数据,所以要采用分段读写。
fileread()函数不支持读取大于32K的文本
可以将题片的路径和文件名存入数据库, 需要时调用

猎头招聘:高级软件开发工程师(C#,VB6) 用javascript可以实现图片的连续移动,而且不会留空白,但是图片大小,怎么弄呢? 为什么不能这样抛异常啊!! vs.net2003中的项目引用了ajax.dll,那么它有updatepanel 吗? sub main() 这个语句 在哪里呢? 请教WindowsService的两个问题 请教FreeBSD下的Vi在命令模式下的编辑问题 sqlserver 触发器问题。 图元合并 高手帮忙看一下 这样的功能asp.net如何实现? 求助,如何设计export file这个测试用例? 10个让人受益的管理原理 怎么修改一个项目的输出目录啊? 有谁能帮我写个提交到邮箱的程序,要求用PHP写;万分感谢! j2me,WTK提示图像装载异常,信息如下 maemo -sh: sudo: not found 怎么办 多个DLL之间调用的调试问题 有关cout和printf之间的一些问题 今年中国说不定会超日赶美了。 购买笔记本电脑不能安装XP系统,严重BS - HP 如何把Image对象存入到一个.jpg文件 好心人,帮个忙吧!小女子的分花没了,不好意思! 【木鱼】人生境域:五指三长两短 一个关于右键菜单弹出的问题 在ubuntu 9.04版本下通过了调试,但是在windows下 python2.6.2下却报错,是什么原因? 求 《COM技术内幕:微软组件对象模型》杨秀章 江英/译 源代码 求游戏代码 帮忙看看这段链表代码 vs2003 中的Ajax 能不能像2005中那样,将很多不想刷新的控件放到一个panel中,一块应用ajax? 关于在ASP.NET中把大数据量的表放在Cache中,出现内存占用过多的问题,求达人帮帮忙!