delphi中更新表字段update BLOB型数据(image)/获取图片转成BLOB型存入数据库

本文介绍了在Delphi中使用ODAC连接Oracle数据库时,如何更新BLOB类型(用于存储图片)的数据。作者遇到EInternal ERROR问题,通过将更新语句放入存储过程解决了这个问题。详细步骤包括调用存储过程和存储过程的代码实现。
摘要由CSDN通过智能技术生成
我用的是ODAC 链接oracle数据库,delphi中update BLOB型数据问题困扰了我很久,我发现我直接

v_sql :='update xx_image set image:=in_image where xx1='+xx1;
                  with dm_db.OraQuery1 do
                  begin
                  Close;
                  Sql.clear;
                  Sql.Add(v_sql);

                  ParamByName('in_image').AsOraBlob.LoadFromFile(uri);//uri是图片地址

                  ExecSQL;
                  end;

这么写,会报EInternal ERROR,在网上搜了好多也没有合适的解决方法,最后向同事请教,将更新语句写到数据库的存储过程中,然后调用存储过程,这样不会报错了。

调用存储过程语句:

with dm_db.DzdaProc do begin
                                StoredProcName := 'UPDATE_XX_IMAGE';//存储过程名
                                PrepareSQL;
                                ParamByName('in_xx1').AsString := xx1; <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值