Ado保存blob大字段问题!!?急!!!

yosoft 2003-08-20 04:46:52
求助!!!
我用Ado存取blob大字段。发现没有存到库中!!(我用db2数据库!)
用bde方式ok!没有问题!
不知为什么???现在系统用Ado方式
...全文
157 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
yosoft 2004-03-23
  • 打赏
  • 举报
回复
哎,还是没解决。。不能老赖着。。。结帖了
mxk19791116 2004-01-02
  • 打赏
  • 举报
回复
改了吧,不要用这个了
yosoft 2004-01-02
  • 打赏
  • 举报
回复
up
521zhou 2003-10-31
  • 打赏
  • 举报
回复
用< theam(云无常定) )说的应是没问题的。我一直在用。
yosoft 2003-09-24
  • 打赏
  • 举报
回复
打了布丁了,,还是不行阿。。。。
aiunong 2003-09-18
  • 打赏
  • 举报
回复
ado 的两个补丁打了吗
up
yosoft 2003-09-18
  • 打赏
  • 举报
回复
我看也是Ado连db2的问题!
用bde可以的!!
我就是搞不懂!
有什么补丁嘛??
benny87 2003-08-29
  • 打赏
  • 举报
回复
oracle8i时用ado我遇到很多问题的
不知道是不会用还是ado连oracle8i有问题
后来改用bde 和 ODAC 了
mrfanghansheng 2003-08-29
  • 打赏
  • 举报
回复
我的后台数据库是sqlserver,没有你说的问题
yosoft 2003-08-29
  • 打赏
  • 举报
回复
to theam(云无常定) 兄 :
我试了你的方法,没有错误,但还是没保存到库中。
偶把Adodataset的lock type 属性设为 itoptimistic ,在post时报“参数数目错误”的提示。 设为ltBatchOptimistic 时,post不报错。但还是没保存到库中。

因为ltBatchOptimistic ,Ado执行是按批模式保存,所以我加了Ado的connection的事务处理。还是不行阿!!
小弟现在真是郁闷阿。。。
dxtaxlyh 2003-08-22
  • 打赏
  • 举报
回复
ADODatabase.edit;
ADODatabaseBLOB.LoadFromFile('c:\temp\myfile.doc'); //ADODatabaseBLOB为Blod字段
ADODatabase.post;
玉泽天成 2003-08-22
  • 打赏
  • 举报
回复
不会呀,我用ADO 和Sql Server 存几兆的Doc文档也没什么问题呀.

ADOBlobStream := TADOBlobStream.Create(TBlobField(ADOQueryAll.FieldByName('LAWS_CONTENT')),bmRead);
if OpenDialog.Execute then
begin
ADOBlobStream.LoadFromFile(OpenDialog.FileName);
ADOBlobStream.Position := 0;
TBlobField(ADOQueryAll.FieldByName('LAWS_CONTENT')).LoadFromStream(ADOBlobStream);
end;
ADOBlobStream.Free;
yosoft 2003-08-22
  • 打赏
  • 举报
回复
试了各位的方法都不行阿,是不是真是Ado驱动有问题阿!?
有没有大侠们使用过Ado存取大字段阿!!????????
bales 2003-08-22
  • 打赏
  • 举报
回复
如果取到JPG格式的图像保存进字段,那又如何读取出来呢???
overtime 2003-08-22
  • 打赏
  • 举报
回复
TBlobField(AdoDataset.FieldbyName(FieldName)).loadFromFile()
post
indian77 2003-08-21
  • 打赏
  • 举报
回复
最好不要用ado,微软的驱动好像有问题,用bde驱动
设置database的params参数
SERVER NAME=''
USER NAME='';
PASSWORD=''
BLOB SIZE=''
然后
Stream := TBlobStream.Create(TBlobField(Query1.Fields[0]),bmRead);
可以写进BLOB或其他二进制流,如果不设置BLOB SIZE属性最大
也只能有32K,因为BLOB SIZE 默认值为32K
希望对你有帮助。
kevin218 2003-08-21
  • 打赏
  • 举报
回复
关于blob字段的数据,最好是用两个getmem和getdata函数,其他的应该不好使。
给你一段类似的代码参考:
try
if adotbsql.FieldByName('feature').IsBlob then
begin
getmem(p3[i],s3);
if adotbsql.FieldByName('feature').GetData(p3[i]) then
//adotbTemp.FieldByName('feature').GetData(p3[i])
adotbTemp.Fields[3].GetData(p3[i])
else
showmessage('图像 is null');
freemem(p3[i]);
end;
……
sy_315 2003-08-21
  • 打赏
  • 举报
回复
可以修改bolb字段的大小的
在库里面修改
或者在建表的时候附值
XXSingle 2003-08-21
  • 打赏
  • 举报
回复
没用过,只好帮你顶一下了
chenjiong 2003-08-20
  • 打赏
  • 举报
回复
oracle8i时ado我以前用了一下,是有保存不进入的问题。
加载更多回复(4)

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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