用Stream操作! 你的字段最好设置为Image(或其他的Blob类型,这样能保存完成的Word格式)
tAbs:TADOBlobStream;
tAbs:=TAdoBlobStream.create(TBlobField(FieldByName ('content')),bmRead)
你可以用OleContainer来显示:
tAbs.position:=0;
OleContainer1.LoadFromStream(tAbs);
OleContainer1.doVerb(ovShow);//显示文档
//保存时候……
OleStream : TMemoryStream; OleStream := TMemoryStream.Create;
try
OleContainer1.SaveToStream(OleStream);
OleStream.Position := 0;
with Qry do
begin
Edit;
Tblobfield(FieldByName('Content')).LoadFromStream(OleStream);
Post;end
tAbs:TADOBlobStream;
tAbs:=TAdoBlobStream.create(TBlobField(FieldByName ('content')),bmRead)
你可以用OleContainer来显示:
tAbs.position:=0;
OleContainer1.LoadFromStream(tAbs);
OleContainer1.doVerb(ovShow);//显示文档
//保存时候……
OleStream : TMemoryStream; OleStream := TMemoryStream.Create;
try
OleContainer1.SaveToStream(OleStream);
OleStream.Position := 0;
with Qry do
begin
Edit;
Tblobfield(FieldByName('Content')).LoadFromStream(OleStream);
Post;end
2.对于一个OLEContainer容器,已经插入一个word对象,下次再插入时,怎样去掉先前的对象;OleContainer1.DestroyObject;
Top
回复人: quark(夸克) ( ) 信誉:135 2002-04-02 14:49:00 得分:0
1.怎样将内容插入到表的OLE字段中;procedure TOLEForm.SaveOLE(Sender: TObject);
var
BlSt : TBlobStream;
begin
With Table1 do
BlSt:=TBlobStream.Create(BlobField(FieldByName('OLE')),
bmReadWrite);
OLEContainer.SaveToStream(BlSt as TStream);
BlSt.Free;
end;
TBlobField(table.FieldbyName('wordApp')).LoadFromFile(FileName)
With Qry do
begin
Edit;
Tblobfield(FieldByName('Content')).LoadFromFile('文件名称');
Post;end
不能在OLECONTENT中显示文档,提示'Invalid Stream Format;'
怎么办呢?