以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  Access的Ole类型 SQl Server的image类型分别最大可以存储多大的文件?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160014)

--  作者:cnsjroom
--  发布时间:2021/1/17 19:39:00
--  Access的Ole类型 SQl Server的image类型分别最大可以存储多大的文件?
很多数据库软件都有二进制类型的列(字段),例如Access的Ole类型,SQl Server的binary和image类型,Oracle的blob类型。
Access的Ole类型 SQl Server的image类型分别最大可以存储多大的文件?

--  作者:有点蓝
--  发布时间:2021/1/17 20:55:00
--  
https://bbs.csdn.net/topics/30486561

https://bbs.csdn.net/topics/121357

--  作者:cnsjroom
--  发布时间:2021/1/18 0:54:00
--  回复:(有点蓝)https://bbs.csdn.net/topics/304865...
谢谢老师

上传二进制文件代码:数据库为access
Dim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
If dlg.ShowDialog =DialogResult.OK Then
    Dim fl As String = dlg.FileName
    Dim r As Row = Tables("员工.附件").AddNew()
    r("文件名") = FileSys.GetName(fl) \'写入文件名
    r.Save \'必须先保存
    r.DataRow.SQLInsertFile("附件",fl) \'插入文件
    r.DataRow.SQLSetValue("CRC值", CRCCheckFile(fl)) \'保存crc检验值
End If
当前上传如果文件大于1g时,会提示有参数未定义  怎么取消呢?
或者提醒用户当前文件大于最大许可值

帮助里的获取文件大小的代码

Dim ifo As new FileInfo("c:\\data\\123.xls")

Output.Show("文件大小:" & ifo.Length)

[此贴子已经被作者于2021/1/18 0:55:44编辑过]

--  作者:有点蓝
--  发布时间:2021/1/18 8:46:00
--  
ifo.Length以byte为单位,自己转换一下:https://calc.itzmx.com/

if ifo.Length > xxx then
msgbox("文件过大")
else
上传
end if

--  作者:cnsjroom
--  发布时间:2021/1/18 10:02:00
--  回复:(有点蓝)ifo.Length以byte为单位,自己转换一...
参照老师提供的指点  代码如下  【可以实现选择文件后,弹出文件大小并进行提醒】
Dim dlg As New OpenFileDialog
dlg.Filter = "|*.*"
If dlg.ShowDialog =DialogResult.OK Then
    Dim fl As String = dlg.FileName
    Dim ifo As new FileInfo(fl)
    Dim sj As  Double
    Dim Multi As String = (ifo.Length)
    Dim Values() As String
    Values = Multi.split(".")
    sj=Values(0)
    \'If sj > 1073741824 Then  \'文件大于1gb
    If sj > 524288000 Then \'文件大于500mb
        MessageBox.Show("文件"&  Format(Values(0)/1024/1024,"0.00") &"MB" &"过大,只能上传小于500MB的文件!","温馨提示")
    Else
        MessageBox.Show("文件"&  Format(Values(0)/1024/1024,"0.00") &"MB" &"小于500MB,支持上传!","温馨提示")
        Dim r As Row = Tables("员工.附件").AddNew()
        r("文件名") = FileSys.GetName(fl) \'写入文件名
        r.Save \'必须先保存
        r.DataRow.SQLInsertFile("附件",fl) \'插入文件
        r.DataRow.SQLSetValue("CRC值", CRCCheckFile(fl)) \'保存crc检验值
    End If
End If

经过反复测试。如果选择的文件大于500mb时 提示“至少一个参数没有被指定”  
如果选择了一个500mb以下文件上传后,再次选择大文件时,会提示“超出系统资源”
当前数据库为access   MDB格式

[此贴子已经被作者于2021/1/18 10:02:14编辑过]

--  作者:有点蓝
--  发布时间:2021/1/18 10:08:00
--  
access数据库文件最大2G,也就是能够存储500M图片4个。建议使用SQL server数据库
--  作者:cnsjroom
--  发布时间:2021/1/18 11:05:00
--  回复:(有点蓝)access数据库文件最大2G,也就是能够...
好的 谢谢老师耐心的指导和解答