hur.cn - 华软网

 热门搜索

【请教】Insert BLOB类型出错?

  作者:未知    来源:网络    更新时间:2018/12/6
Blob temp
F_FileRead_Blob(temp,ls_docname)
//资料存入数据库

UPDATEBLOB t_f_pic_data Set pic_data = :temp
Where product_sn = :f_product_sn;

IF SQLCA.SQLCode <> 0 THEN//记录不存留新建
  INSERT INTO t_f_pic_data(product_sn, pic_name,pic_data)
Values(:f_product_sn,:ls_named,:temp);
END IF

请问上面的语句,当我用UPDATEBLOB时候是很正常保存图片的,然则新建的时候insert却遇到报错:
ORA-01465:无效的十六进制数字.
猎奇怪,请列位大侠指教。。
------华软网友回答------
哈哈,总于解决了,
INSERT INTO t_f_pic_data(product_sn, pic_name,pic_data)
Values(:f_product_sn,:ls_named,RAWTOHEX(:temp));
------华软网友回复------
晕,可是用了RAWTOHEX后不能正常显示图片了
------华软网友回复------
BLOB类型不能用于插入,只可用于更新,你能够先插入空行,然后在updateblob set 语句来执行!执行时要先
sqlca.autocommit=true
UPDATEBLOB t_f_pic_data Set pic_data = :temp
Where product_sn = :f_product_sn;
sqlca.autocommit=false
------华软网友回复------
学习
------华软网友回复------
BLOB挺麻烦的!
------华软网友回复------
谢谢zcm790619,只好这样了。。。。怪不得没有insertblob了,哈哈。
------华软网友回复------
途经      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。