首页>计算机职称>复习指导>正文
计算机职称考试数据库系统工程师:在PB中用OLE存取blob类型数据(三)

www.zige365.com 2008-7-14 15:40:28 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

  destroy stor1

  改变数据窗口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]
  ole_1.open(stor1,"w"+id)
  end if

  改变数据窗口dw_1的buttonclicked中的代码如下:

  long row_num
  if dwo.name="cbselect" then
  row_num=dw_1.getrow()
  string filepath,filename
  getfileopenname("请选择备注文件",filepath,filename)
  dw_1.object.s_path[row_num]=filepath
  ole_1.insertfile(filepath)
  end if
  if dwo.name="cbsave" then
  string id
  row_num=dw_1.getrow()
  id=dw_1.object.id[row_num]
  ole_1.saveas(stor1,"w"+id)
  stor1.save()
  end if

  保存窗口w_OLEblob,运行应用程序即可。

  7、三种方法的优缺点

  方法一:文件保存在固定的路径下,数据库中存取文件路径和名称可以节省数据空间,避免了数据库过分膨胀,但备注文件必须在一定的目录下,不能丢失,且同一目录下文件不能重名,对文件的管理造成一定的困难,另外,在OLE控件中浏览显示备注文件时,由于每次都要调用服务器程序,所以速度较慢。

  方法二:在数据库中用blob类型或者varbinary类型字段存储备注文件,当文件存储在数据库中以后,就可以删除硬盘上原来的临时文件,不需要复杂的二进制文件管理,且数据库可以存储在网络服务器上,对数据的共享非常方便。

  方法三:在本地用OLE存储结构存储备注文件。可以把所有的二进制文件信息存储在一个OLE存储文件中,管理比较方便。当二进制文件信息存储后,可以删除原来的临时文件;因为打开存储文件后不需要每次执行服务器程序来显示存储信息,所以存取速度较快。 说明:本文在PB6.5,Sql anywhere数据库和PB6.5,Sql Server数据库下,windows98,windows me,NT4.0平台上试验通过。

本新闻共2页,当前在第2页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
计算机职称考试:软考的临考前十大注意事项
计算机职称考试《数据结构(C++)》学习辅导系列:序言
计算机职称考试《数据结构(C++)》学习辅导系列:栈和队
计算机职称考试《数据结构(C++)》学习辅导系列:队列应
计算机职称考试数据库系统工程师:在PB中用OLE存取blo
计算机职称考试数据库系统工程师:在PB中用OLE存取blo