Foxtable(狐表)用户栏目专家坐堂 → [求助]多文件二进制批量下载附件


  共有2803人关注过本帖树形打印复制链接

主题:[求助]多文件二进制批量下载附件

帅哥哟,离线,有人找我吗?
乡里出城
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
[求助]多文件二进制批量下载附件  发帖心情 Post By:2015/8/12 16:57:00 [只看该作者]

If Tables("员工.附件").Current Is Nothing Then

    Return

End If

Dim dr As DataRow = Tables("员工.附件").Current.DataRow

Dim fl As String =  ProjectPath &  dr("文件名")

If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同

    '则直接使用本地文件

Else '否则从数据库提取文件

    If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败

        Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Return

    End If

End If

Dim Proc As New Process '打开文件

Proc.File = fl

Proc.Start()


我不想要通过打开文件才能下载到本地的Project文件夹,所以计划去掉红色这段代码,而想把选中的附件批量下载,如何下图下面的代码


此主题相关图片如下:12121.jpg
按此在新窗口浏览图片


Datatables("员工").replaceFor("选中 = true")
 For Each dr As DataRow In DataTables("员工").Select("[选中] = true") 
     '下载一行的代码 ‘直接套上面的代码进去,会显示错,请教一下,如何修改代码才能实现把选中的附件批量下载
 Next

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 17:06:00 [只看该作者]

For Each dr As DataRow In DataTables("员工").Select("[选中] = true")
    For Each cdr As DataRow In DataTables("附件").Select("姓名 = '" & dr("姓名") & "'")
        Dim fl As String =  ProjectPath & cdr("文件名")      
        If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败          
            Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)     
        End If       
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2015/8/12 17:58:00 [只看该作者]

不行,因为FOXTABLE的“多文件二进制”项目里的“附件”表是没有姓名这一列的

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 18:12:00 [只看该作者]

你看一下它们的关联是什么,对应起来,就行啊。


 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2015/8/12 18:49:00 [只看该作者]

For Each dr As DataRow In DataTables("员工").Select("[选中] = true")
    For Each cdr As DataRow In DataTables("附件").Select("员工编号= '" & dr("[_Identify]") & "'")
        Dim fl As String =  ProjectPath & cdr("文件名")       
        If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败           
            Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)      
        End If        
    Next
Next

结果:附件提取失败,可能并不存在附件!", "提示

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/12 19:45:00 [只看该作者]

写错了是,是cdr

 

If cdr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败 


 回到顶部