sqlserver里存文件问题,求助!实在无解了!

chrissmf 2014-08-15 05:43:54
我的sqlserver2000里一个表有两个image字段,通过vb向里面写文件。上传文件sub如下:
Private Sub UploadFile(rs As Recordset, fld As String, FilePath As String)
Dim adofld As ADODB.Field, DataArr() As Byte
Set adofld = rs(fld)
Open FilePath For Binary As #1
ReDim DataArr(LOF(1) - 1)
Get #1, , DataArr()
Close #1
adofld.AppendChunk DataArr()
End Sub
问题在于:两个image字段,一个a,一个b
新建记录时,向a写文件或向b写文件或a、b一起写文件时,正常。
编辑记录时:1、只向a写文件,正常;
2、如a是空,只向b写文件无效,即没写进去,也没报错;
3、如a不是空,只向b写文件,程序停止响应;
4、向a、b同时写文件,正常。
反复试过很多方法,包括上传sub改过,不用sub也试过,均出现上述错误。
实在无解了,求高手指点!
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
coollcf 2014-08-16
  • 打赏
  • 举报
回复
一次只写一个字段.
chrissmf 2014-08-16
  • 打赏
  • 举报
回复
应该不关字段的事啊,a叫“wenjian”,b叫"mingxi"。问题就是b存储文件的过程adofld.AppendChunk DataArr()出错,把b换成a就正常。在修改记录时,a和b同时都存文件正常,b单独存文件出错。新建记录时正常。 再求助!
chrissmf 2014-08-16
  • 打赏
  • 举报
回复
回复楼上:sub的参数fld传递字段名,无论存a还是存b都是调用这个sub的
tcmakebest 2014-08-16
  • 打赏
  • 举报
回复
楼主提供的代码都未用到字段名,难道默认是第一个 Image 字段?
chrissmf 2014-08-16
  • 打赏
  • 举报
回复
研究进展: 1、我把出错的字段"b"改名、删了重建,仍然是“b”出错。把"a"、“b”都改名、删除重建,也是"b"出错。应能证明与字段名无关。 2、我把字段"a"名字改为"b",字段"b"改为"a",结果出错的仍然是"b"(即原来的"a")。是否能证明与字段名有关?同时证明与程序无关? 是否是数据库的bug?求解!
--小F-- 2014-08-15
  • 打赏
  • 举报
回复
这个还是去VB问问比较好。SQL应该是不会认字段的。
chrissmf 2014-08-15
  • 打赏
  • 举报
回复
补充一下:在任何情况下,向a写文件都正常。如向b写文件错误,只要在程序中把“b”改成“a”就能写入了,难道sqlserver还认字段吗?

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧