通用 文件保存至数据库,从数据库写入磁盘 程序代码

原创 2004年09月04日 12:43:00
通用 文件保存至数据库,从数据库写入磁盘 程序代码 ----20040809
这几天我休假中,正好有时间继续编写mycodelibrary 1.5版,今天晚上刚好写到文件与数据库存入取出模块,在论坛上此问题见的也较多,所以特此公开此部分代码,供有需者参考使用.代码虽然可以完整的正常使用,但还是需要做些错误方面的处理。

'欢迎你下载使用本代码,本份代码由程序太平洋提供下载学习之用
'声明:
'1.本站所有代码的版权归原作者所有,如果你使用了在本站下载的源代码
'  引起的一切纠纷(后果)与本站无关,请您尊重原作者的劳动成果!
'2.若本站在代码上有侵权之处请您与站长联系,站长会及时更正。
'中国代码网:url.gifhttp://www.daima.com.cn
'程序太平洋:url.gifhttp://www.5ivb.net
'email:dapha@etang.com
'copyright 2001-2005 by url.gifwww.5ivb.net
'整理时间:2004-8-9 3:32:48
option explicit
public objconn as new adodb.connection
public m_connstring as string
private function exists(byval str_filename as string, _
            byval int_val as vbfileattribute) as boolean
    '--------------------------------------------------------------------------------
    ' project    :       mycodelibrary 1.5
    ' procedure  :       exists
    ' description:       [判断文件或目录是否存在]
    ' created by :       ronggang (zhouronggang@163.com)
    ' date-time  :       2004-8-9-2:31:45
    '
    ' parameters :       str_filename (string)
    '                    int_val (vbfileattribute)
    '--------------------------------------------------------------------------------
    on error resume next
    if len(str_filename) = 0 then
        exists = false
        exit function
    end if
    if int_val <> vbdirectory then                         '如果不是目录
        '如果为空表示文件不存在
        if dir(str_filename) = "" then
            exists = false
        else
            exists = true
        end if
    else
        if dir(str_filename, vbdirectory) = "" then
            exists = false
        else
            exists = true
        end if
    end if
end function
public sub binvalue(byval strfilename as string, byref objfield as field)
    '--------------------------------------------------------------------------------
    ' project    :       mycodelibrary 1.5
    ' procedure  :       binvalue
    ' description:       [将文件保存至数据库中]
    ' created by :       wangfeng
    ' date-time  :       2004-8-9-2:20:37
    '
    ' parameters :       strfilename (string)
    '                    objfield (field)
    '--------------------------------------------------------------------------------
    '此方法需要做错误处理,以防文件己打开
    dim objstream as stream
    if not exists(strfilename, vbnormal) then              '如果文件不存则抛出异常
        err.raise 50001, "dbfile", "文件不存在!"
        exit sub
    end if
    set objstream = new adodb.stream
    with objstream
        .type = adtypebinary
        .open
        .loadfromfile strfilename
        objfield.value = .read
    end with
    set objstream = nothing
end sub
public function binvalue2file(byval strfilename as string, byref objfield as field, optional overwrite as boolean = false) as boolean
    '--------------------------------------------------------------------------------
    ' project    :       mycodelibrary 1.5
    ' procedure  :       binvalue2file
    ' description:       [将数据库中的二进制数据保存为文件]
    ' created by :       wangfeng
    ' date-time  :       2004-8-9-2:22:33
    '
    ' parameters :       strfilename (string)           目标文件
    '                    objfield (field)               数据字段名
    '                    overwrite (boolean = false)    是否覆盖现有存在的文件
    '                                                   true 覆盖 false(默认)不存在时保存
    '--------------------------------------------------------------------------------
    on error goto errorhander
    dim objstream as stream
    dim returnmsg as vbmsgboxresult
    set objstream = new adodb.stream
    with objstream
        .type = adtypebinary
        .open
        .write objfield.value
        if overwrite then
            .savetofile strfilename, adsavecreateoverwrite
        else
            .savetofile strfilename, adsavecreatenotexist
        end if
    end with
    binvalue2file = true                                   '保存成功返回true
101:
    set objstream = nothing
    exit function
errorhander:
    binvalue2file = false
    goto 101
end function
public function getfilename(byval strpathfilename) as string
    dim ipos as long
    ipos = vba.instrrev(strpathfilename, "/")
    getfilename = mid(strpathfilename, ipos + 1)
end function
public function getpathname(optional strpathname as string) as string
    'sfilename = mid(getpathname, ipos + 1)
    dim ipos as long
    ipos = vba.instrrev(strpathname, "/")
    getpathname = mid(strpathname, 1, ipos)
end function

软件截图:

附完整源码:

rar.gif点击浏览该文件em03.gifem06.gif

在使用过程中如有什么问题也可跟贴提出!谢谢。

Yii将需要的log写入到数据库中

一,配置环境(main.php) 'log' => array(    'class' => 'CLogRouter',    'routes' => array(          //写入...
  • ken_lover
  • ken_lover
  • 2014年09月10日 14:43
  • 942

将数据以二进制流方式写入数据库

将数据以二进制流方式写入数据并再还原成原来的文件,编辑再写入 根据目前自己在项目里做的东西,也学到的东西,总结一下: 一、需求:将结构化数据以二进制格式保存在数据库中(别说这样不好,别说建议...
  • yangwenxue_admin
  • yangwenxue_admin
  • 2015年12月24日 19:33
  • 5671

KETTLE中将文件存入数据库

本例通过kettle将文件直接存到数据库
  • gleiyu
  • gleiyu
  • 2014年08月01日 17:52
  • 1313

c#将文件写入mysql中和从mysql中读数据

主代码这样需要自定义mysql的连接参数;主要代码如下MySqlCommand cmd = new MySqlCommand(); cmd.CommandText = sql;//这句需传参数; cm...
  • zhzz2012
  • zhzz2012
  • 2015年11月13日 23:31
  • 3339

将oracle数据库中数据写入excel文件

主要实现思路:     1、声明一个纪录,用来存储导出的数据;     2、使用游标取数据到纪录中;     3、使用utl_file将纪录中的数据写入excel文件;     4、循环执行步...
  • it_taojingzhan
  • it_taojingzhan
  • 2015年11月20日 13:44
  • 1188

【Hibernate】将对象保存到数据库表中

上一篇文章简单介绍下了Hibernate的基本原理,这篇文章主要介绍下Hibernate的使用,将对象保存到数据库的表中的流程。 一、搭建hibernate环境       将hibernate的ja...
  • hanxintong9
  • hanxintong9
  • 2016年02月17日 20:56
  • 3858

oscache、ehcache缓存内容存入硬盘的方法

1.oscache将缓存内容存入硬盘:
  • huwenhu2007
  • huwenhu2007
  • 2014年05月08日 10:57
  • 10798

PHP读取EXCEL文件写入数据库

PHP读取ECEL文件写入数据库功能的实现使用到了PHPExcel类库。    $uploadfile="../upload_files/".basename($_FILES['userfile']...
  • amino77
  • amino77
  • 2013年07月22日 09:14
  • 1592

【详解】Python从数据库提取数据写入txt

第一步:连接数据库 使用Python可以实现对数据库的操作。 本例中,我们用两种方法实现了数据库的连接,并将数据取了出来。这两种方式都比较简单清楚: 1. #!/usr/bin/py...
  • AKAK714
  • AKAK714
  • 2015年10月30日 14:32
  • 4513

用dom4j读取xml到数据库

用dom4j读取xml文件到数据库。 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使...
  • u010096526
  • u010096526
  • 2015年10月29日 21:20
  • 2022
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通用 文件保存至数据库,从数据库写入磁盘 程序代码
举报原因:
原因补充:

(最多只允许输入30个字)