If fileexist(filevts) then
filedelete(filevts)
End if
Return=fileopen(filevtsstreammode!write!)
以上语句新建了一个临时文件 filevts
If return<> then
filewrite(returnblob 变量 )
fileclose(return)
Else
messagebox(error Cant open file!)
End if
本条件语句将 blob 变量的内容写入临时文件中如出错则告警
FORMULA ONE 文件的内容存入数据库中
return=fileopen(filevtsstreammode!write!)
If return<> then
fileread(returnblob 变量 )
fileclose(return)
end if
以上语句将临时文件内容读入 blob 变量中
if len ( blob 变量 )> then
updateblob 表名 set 大文本字段名 =:blob 变量 where…
end if
该条件语句给数据库中的大文本字段赋值
如上所述可以利用 FORMULA ONE 的文件实现 POWERBUILDER 窗口中 OLE 对象与数据库大文本字段之间信息传送此外在 POWERBUILDER 中也提供数据窗口中用 EXCEL 做 OLE 对象来存取数据库的大文本字段但它不能调用 EXCEL 的函数因此不够灵活此种方法占用的系统资源是 FORMULA ONE 的数倍在大型数据库的存取操作中会大大增加日志存取速度也会减慢因此不适合大范围应用
在日常应用中首先制作一个 FORMULA ONE 的报表模板文件通过 POWERBUILDER 窗口的 OLE 对象打开该文件填好内容后存入数据库此后就可以对数据库中已存在的报表字段进行存取操作如果报表格式发生变化则直接修改模板文件即可不需要改动程序维护相当方便
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
[] []