高分求助,在线等候:如何把word文档保存到数据库大文本字段? wwDBRichEdit1.Lines.LoadFromFile()wwDBRichEdit1.Lines.SaveToFile() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var MemoryStream: TMemoryStream;begin ... OleContainer.SaveToStream(MemoryStream) TBlobField(YourDataSet.FieldByName('YourBlobField')).LoadFromStream(MemoryStream); ...end;密切关注,深表遗憾!强烈谴责,啥也不干! Borlandor(五角▲大民) :我用你的方法是了,但仍然有错,我该怎么办呢? 用个简单的方法把,把数据库中的这个字段load到query中,名字叫doc 吧。query.append;doc.loadfromfile(.....);query.post;就可以存到大字段里面了。读出来的时候类似了可以把doc.savetostream,然后产生一个临时文件 看来你对“把数据库中的这个字段load到query中”这句话有困惑,双击你的Query控件,你就知道了 二进制字段保存:(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);取出:(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image'))); 二进制字段保存:(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);取出:(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image'))); 二进制字段保存:(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);取出:(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image'))); var MemoryStream: TMemoryStream;begin ... OleContainer.SaveToStream(MemoryStream) MemoryStream.Position := 0; //忘了这一句了,害人啊! TBlobField(YourDataSet.FieldByName('YourBlobField')).LoadFromStream(MemoryStream); ...end;密切关注,深表遗憾!强烈谴责,啥也不干! 我在程序中用到TOleContainer组件,oracle数据库表中有LONG RAW类型字段=================================================================我没用过oracle,但是我知道word文档应该保存在blob字段里面.不知道oracle里面有没有image之类的字段类型,如果有的话应该选择它而不是大文本字段.因为word文档不仅包含文本信息,还包括了格式信息.其它的东东大家都写了.=============================TRY================================ 我没分了,请朋友们帮我回答一下这个好吗?谢谢了。http://www.csdn.net/Expert/TopicView1.asp?id=831786 Borlandor(五角▲大民):显示出错,程序如下:procedure TFrm_kj_kfxm_sqs.Button2Click(Sender: TObject);var memorystream1,memorystream2:Tmemorystream;begin inherited; memorystream1 := tmemorystream.Create; memorystream2 := tmemorystream.Create; //保存 try OleContainer1.SaveToStream(memorystream1); MemoryStream1.Position:= 0; cds_data.edit; TblobField(cds_data.FieldByName('sqwd')).LoadFromStream(MemoryStream1); cds_data.Post; finally memorystream1.Free; end; //显示 try TblobField(cds_data.FieldByName('sqwd')).SaveToStream(Memorystream2); OleContainer2.LoadFromStream(memorystream2);//出错 finally memorystream2.Free; end;end; Mudeen(笑哥哥) :我以前用过PowerBuilder的,字段类型应该没错,难道Delphi实现起来真得这么难吗?咳,Borland呀!! 在你出错的上面再加一行代码:-------------------------------------------------//显示 try TblobField(cds_data.FieldByName('sqwd')).SaveToStream(Memorystream2); memorystream2.position:=0; //添加这一行代码 OleContainer2.LoadFromStream(memorystream2); finally memorystream2.Free; end; 谢谢各位啦!问题基本解决了,在这里对每位朋友表示感谢。就此揭帖吧!希望大家有更好的建议请与我联系!Email:[email protected]或[email protected] var MemoryStream: TMemoryStream;begin ... memorystream := tmemorystream.Create; //一定记住 OleContainer.SaveToStream(MemoryStream) MemoryStream.Position := 0; //忘了这一句了,害人啊! TBlobField(YourDataSet.FieldByName('YourBlobField')).LoadFromStream(MemoryStream); ...end; 散分,累坏了,直接倒下了..... 小弟刚学dephi 遇到一个showmodal的问题,请大家帮帮忙请大家帮我解决; 串口通讯问题(急)??? excel通过ole读入时有的列变为空的问题 小妹妹想问一个奇怪的问题,急!!!!!!!!!! 一个简单的问题? 程序员和企业黑名单 高分求救!!!! 如何在DBGRID修改或新增的状态下不让其数据能够移动?因为DBGRID中数据记录移动后默认是POST? 如何使用web服务器建立两个虚拟目录? 高手请指点???如何彻底删除外部键? 请问一个dbgrid的响应鼠标事件的问题;
begin
...
OleContainer.SaveToStream(MemoryStream)
TBlobField(YourDataSet.FieldByName('YourBlobField')).LoadFromStream(MemoryStream);
...
end;密切关注,
深表遗憾!
强烈谴责,
啥也不干!
query.append;
doc.loadfromfile(.....);
query.post;
就可以存到大字段里面了。读出来的时候类似了可以把doc.savetostream,然后产生一个临时文件
双击你的Query控件,你就知道了
保存:
(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');
TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);
取出:
(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');
Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image')));
保存:
(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');
TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);
取出:
(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');
Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image')));
保存:
(query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.bmp');
TBlobField(Table1.FieldByName('Image')).Assign(Image1.Picture.Bitmap);
取出:
(query1.FieldByName('img') as TBlobField).Savetofile('e:\temp.bmp');
Image1.Picture.Bitmap.assign(TBlobField(Table1.FieldByName('Image')));
begin
...
OleContainer.SaveToStream(MemoryStream)
MemoryStream.Position := 0; //忘了这一句了,害人啊!
TBlobField(YourDataSet.FieldByName('YourBlobField')).LoadFromStream(MemoryStream);
...
end;密切关注,
深表遗憾!
强烈谴责,
啥也不干!
=================================================================
我没用过oracle,但是我知道word文档应该保存在blob字段里面.不知道oracle里面有没有image之类的字段类型,如果有的话应该选择它而不是大文本字段.因为word文档不仅包含文本信息,还包括了格式信息.其它的东东大家都写了.
=============================TRY================================
http://www.csdn.net/Expert/TopicView1.asp?id=831786
procedure TFrm_kj_kfxm_sqs.Button2Click(Sender: TObject);
var memorystream1,memorystream2:Tmemorystream;
begin
inherited;
memorystream1 := tmemorystream.Create;
memorystream2 := tmemorystream.Create;
//保存
try
OleContainer1.SaveToStream(memorystream1);
MemoryStream1.Position:= 0;
cds_data.edit;
TblobField(cds_data.FieldByName('sqwd')).LoadFromStream(MemoryStream1);
cds_data.Post;
finally
memorystream1.Free;
end;
//显示
try
TblobField(cds_data.FieldByName('sqwd')).SaveToStream(Memorystream2);
OleContainer2.LoadFromStream(memorystream2);//出错
finally
memorystream2.Free;
end;
end;
-------------------------------------------------
//显示
try
TblobField(cds_data.FieldByName('sqwd')).SaveToStream(Memorystream2);
memorystream2.position:=0; //添加这一行代码
OleContainer2.LoadFromStream(memorystream2);
finally
memorystream2.Free;
end;
begin
...
memorystream := tmemorystream.Create; //一定记住
OleContainer.SaveToStream(MemoryStream)
MemoryStream.Position := 0; //忘了这一句了,害人啊!
TBlobField(YourDataSet.FieldByName('YourBlobField')).LoadFromStream(MemoryStream);
...
end;