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的appendrow,deleterow,update,retrieve动作按钮。 首先创建实例变量OLEstoragestor1 然后如图建立窗口w_path,其中数据窗口控件dw_1的rowfocuschanged中的代码如下: longrow_num row_num=dw_1.getrow() ifrow_num>0then ole_1.insertfile(dw_1.object.s_path[row_num]) endif 其中数据窗口dw_1的buttonclicked中的代码如下: ifdwo.name="cbselect"then longrow_num row_num=dw_1.getrow() stringfilepath,filename getfileopenname("请选择备注文件",filepath,filename) dw_1.object.s_path[row_num]=filepath ole_1.insertfile(filepath) endif 保存窗口w_path 6)建立窗口w_dbblob 打开w_path,把其另存为w_dbblob,改变数据窗口dw_1的rowfocuschanged中的代码如下: blobtext1 longrow_num row_num=dw_1.getrow() ifrow_num>0then stringid id=dw_1.object.id[row_num] sqlca.autocommit=true selectblobpicinto:text1fromblobsavewhereid=:id; ole_1.objectdata=text1 sqlca.autocommit=false endif 改变数据窗口dw_1的buttonclicked中的代码如下: longrow_num ifdwo.name="cbselect"then row_num=dw_1.getrow() stringfilepath,filename getfileopenname("请选择备注文件",filepath,filename) dw_1.object.s_path[row_num]=filepath ole_1.insertfile(filepath) endif ifdwo.name="cbsave"then stringid sqlca.autocommit=true blobtext1 text1=ole_1.objectdata dw_1.update() commit; row_num=dw_1.getrow() id=dw_1.object.id[row_num] updateblobblobsave setpic=:text1 whereid=:id; commit; sqlca.autocommit=FALSE dw_1.retrieve() dw_1.scrolltorow(row_num) endif 保存窗口w_dbblob 7)建立窗口w_OLEblob 打开w_path,把其另存为w_OLEblob,在窗口w_OLEblob的open事件中写入以下代码: stor1=createolestorage stor1.open("c:\p1.ole")//打开或创建ole文件 在窗口w_OLEblob的close事件中写入以下代码: destroystor1 改变数据窗口dw_1的rowfocuschanged中的代码如下: blobtext1 longrow_num row_num=dw_1.getrow() ifrow_num>0then stringid id=dw_1.object.id[row_num] ole_1.open(stor1,"w"+id) endif 改变数据窗口dw_1的buttonclicked中的代码如下: longrow_num ifdwo.name="cbselect"then row_num=dw_1.getrow() stringfilepath,filename getfileopenname("请选择备注文件",filepath,filename) dw_1.object.s_path[row_num]=filepath ole_1.insertfile(filepath) endif ifdwo.name="cbsave"then stringid row_num=dw_1.getrow() id=dw_1.object.id[row_num] ole_1.saveas(stor1,"w"+id) stor1.save() endif 保存窗口w_OLEblob,运行应用程序即可。 |