把WordXP文档存入数据库然后读出来(200分)

  • 主题发起人 fly_delphi
  • 开始时间
F

fly_delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL Server 2000中建一表其中有一字段为ntext类型 用OLEContainer进行存取代码入下
//建立新Word文档这段代码能成功执行
Procedure TZCLR_Form.NewDocClick(Sender:TObject)
begin
OLEContainer1.CreateObject('Word.Document',false);
OleContainer1.doVerb(obShow);
End;
//保存到数据库
Procedure TZCLR_Form.BtnSaveClick(Sender:TObejct);
Var AdoBlobStream1:TAdoBlobStream;
begin
SSZC.Edit;
AdoBlobStream1:=TAdoBlobStream.Create((sszc.FieldbyName('SSZC_XX') as TBlobField),bmWrite);
SSZC.post;
dm.sds.BeginTrans;
try
SSZC.updateBatch();
Dm.Sds.CommitTrans;
ShowMessage('保存成功');
Except
dm.sds.RollBackTrans;
ShowMessage('保存失败');
End;
OLEContainer1.DestroryObject;
End;

Procedure TZCLR_Form.BtnLoadclick(Sender:Tobject);
var buf:TAdoBlobStrea;
begin
buf:=TAdoBlobStream.create(TblobField(SSZC.FieldbyName('sszc_xx')),bmread);
buf.Position:=0;
if buf.size>0 then
begin
Olecontainer1.createObject('word.document',false);
olecontainer1.LoadFromStream(buf);//出错”从磁盘读取数据出错“
OleContainer1.doverb(ovShow);
end;
buf.free;
end;
这个问题我试了很多次了用TMemoryStream,TBlobStream也不行,也查过以前的帖子了。
望指教。
 
不要用NTEXT改用IMAGE。
 
多人接受答案了。
 
顶部