请教老师,如下代码未发现外部数据增加新记录
Dim cmd As New SQLCommand
cmd.Connection Name = "cwsj"
cmd.CommandText = "Insert Into 文件服务器文件(files) Values(?)"
Dim ImageByte() As Byte = System.IO.File.ReadAllBytes("D:\b.rar") '读取文件流,并将读到的二进制数据放入数组ImageByte中,
cmd.Parameters.Add("@files", ImageByte)
cmd.ExecuteNonQuery
MessageBox .Show(1)
[此贴子已经被作者于2024/6/12 8:22:53编辑过]
我测试没有问题。确定files是image类型的列?
试试列名加上中括号
cmd.CommandText = "Insert Into 文件服务器文件([files]) Values(?)"
确定 files 列是image,再加了中括号试过,程序是可以运行到messagebox的,但我去cwsj下的“
文件服务器文件“ 表是没有增加有记录的
看看是不是连接到其它数据库了
到后台数据库看,刷新一下表格,好像image列是直接看不到数据的,重新查询一下看看有没有新增到行
现在增加了一个701458KB的a.zip文件时,出错如下
此主题相关图片如下:微信截图_20240612102008.png
用下列代码做下载,小文件可成功,但大文件,比如有个300m的文件就出错Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "s elect files,文件名,文件名后缀 from {文件服务器文件} where 选中=1 " '这里第八列是二进制列
Dim dt As DataTable = cmd.ExecuteReader
For Each dr As DataRow In dt.DataRows
Dim imagebytes As Byte() = dr("files")
MessageBox.Show("D:\" & dr("文件名") & dr("文件名后缀"))
System.IO.File.writeAllBytes("D:\" & dr("文件名") & dr("文件名后缀"), imagebytes)
MessageBox.Show(2)
Next
此主题相关图片如下:微信截图_20240612140600.png
此主题相关图片如下:微信截图_20240612141532.png
[此贴子已经被作者于2024/6/12 14:16:10编辑过]
这个没有办法,foxtable是32位程序,最大只能用到约1G内存。
试试每次使用释放一下内存
……
Dim ImageByte() As Byte = System.IO.File.ReadAllBytes("D:\b.rar") '读取文件流,并将读到的二进制数据放入数组ImageByte中,
cmd.Parameters.Add("@files", ImageByte)
cmd.ExecuteNonQuery
ImageByte=nothing
GC.Collect()
MessageBox .Show(1)
加了释放代码也还是不行,请问下个FB版本可作改善吗?