以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]多文件二进制批量下载附件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73113) |
-- 作者:乡里出城 -- 发布时间: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文件夹,所以计划去掉红色这段代码,而想把选中的附件批量下载,如何下图下面的代码 Datatables("员工").replaceFor("选中 = true") For Each dr As DataRow In DataTables("员工").Select("[选中] = true") \'下载一行的代码 ‘直接套上面的代码进去,会显示错,请教一下,如何修改代码才能实现把选中的附件批量下载 Next
|
-- 作者:大红袍 -- 发布时间: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 |
-- 作者:乡里出城 -- 发布时间:2015/8/12 17:58:00 -- 不行,因为FOXTABLE的“多文件二进制”项目里的“附件”表是没有姓名这一列的 |
-- 作者:大红袍 -- 发布时间:2015/8/12 18:12:00 -- 你看一下它们的关联是什么,对应起来,就行啊。 |
-- 作者:乡里出城 -- 发布时间: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 结果:附件提取失败,可能并不存在附件!", "提示
|
-- 作者:大红袍 -- 发布时间:2015/8/12 19:45:00 -- 写错了是,是cdr
If cdr.SQLLoadFile("附件",fl) = False Then \'如果提取文件失败 |