起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 142|回复: 2

【结帖】无法通过TQuery更新数据库的二进制字段

[复制链接]
发表于 2008-1-24 15:58:26 | 显示全部楼层 |阅读模式
// 读取
Query.Close();
Query.ConnectionString:=FDB_ConnectionString;
Query.CommandText:='SELECT DOC FROM T_DOC WHERE GUID=''12345678''';
Query.Open();

if(TBlobField(Query.FieldByName('DOC')).BlobSize=0) then
begin
        //
end
else
begin
        // 这里可以正常读到二进制字段DOC的数据
        TBlobField(Query.FieldByName('DOC')).SaveToFile(FDOCName);
end;

// 修改
Query.Close();
Query.Params.Clear();
Query.ConnectionString:=FDB_ConnectionString;
Query.CommandText:='UPDATE T_DOC SET DOC=OC WHERE GUID=''12345678''';
TempParam:=Query.Params.CreateParam(TFieldType.ftBlob, 'DOC', TParamType.ptInput);
TempParam.LoadFromFile(FDOCName, TFieldType.ftBlob);
Query.Execute();        // <- 修改没有效果,为什么?
回复

使用道具 举报

发表于 2008-1-25 09:50:49 | 显示全部楼层
楼主可以换个方法:
Query.feidlbyname('DOC').loadfromfile(FDOCName);
回复 支持 反对

使用道具 举报

发表于 2008-2-14 10:08:01 | 显示全部楼层
楼主,还有问题吗?
没有就结帖了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 01:43 , Processed in 0.037500 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表