1、源程序建立
1)首先在数据库中建立如下结构的表blobsave:
字段名称 数据类型 备注
id char(4) primairy key index s_path char(50) pic binary (50)
2)在PB建立PBl库blobsave.PBl
3)在PBl库blobsave.PBl中建立应用blobsave
在应用的open事件中设置数据库连接程序(本程序中采用的是odbc方式连接数据库,读者可根据自己所建立的数据库的不同选用不同的连接方式,以下连接数据库的代码也有所改动,至于连接不同的数据库的方法,请参考有关资料,本文不做详细介绍):
SQLCA.DBMS = \"ODBC\"
SQLCA.AutoCommit = False
SQLCA.DBParm = \"Connectstring=\"DSN=blob\"\" connect; open(w_main)
其中命令按钮cb_path的clicked中的代码格式如下:open(w_path) 其中命令按钮cb_dbblob的clicked中的代码格式如下:open(w_dbblob) 其中命令按钮cb_OLEblob的clicked中的代码格式如下:open(w_OLEblob) 4) 建立数据窗口dw_blobsave
按照上文中建立数?荽翱诘腷lob列的方法建立数据窗口dw_blobsave如图所示: 其中:add,del,save,cancel,,retrieve等分别为数据窗口dw_blobsave的append row,delete row,update,retrieve动作按钮。
首先创建实例变量 OLEstorage stor1
然后如图建立窗口w_path,其中数据窗口控件dw_1的rowfocuschanged中的代码如下:
long row_num
row_num=dw_1.getrow() if row_num >0 then
ole_1.insertfile(dw_1.object.s_path[row_num]) end if
其中数据窗口dw_1的buttonclicked中的代码如下:
if dwo.name=\"cbselect\" then long row_num
row_num=dw_1.getrow() string filepath,filename
getfileopenname(\"请选择备注文件\
dw_1.object.s_path[row_num]=filepath ole_1.insertfile(filepath) end if
保存窗口w_path 6)建立窗口w_dbblob
打开w_path,把其另存为w_dbblob,改变数据窗口dw_1的rowfocuschanged中的代码如下:
blob text1
long row_num
row_num=dw_1.getrow() if row_num>0 then string id
id = dw_1.object.id[row_num] sqlca.autocommit=true
selectblob pic into :text1 from blobsave where id = :id;
ole_1.objectdata=text1 sqlca.autocommit=false end if
改变数据窗口dw_1的buttonclicked中的代码如下: 保存窗口w_dbblob 7)建立窗口w_OLEblob
打开w_path,把其另存为w_OLEblob,在窗口w_OLEblob的open事件中写入以下代码:
stor1 = create olestorage
stor1.open(\"c:\\p1.ole\") //打开或创建ole文件 在窗口w_OLEblob的close事件中写入以下代码:
|