当前位置: 代码迷 >> Delphi >> rxrichedit中的数据封存到数据库,但不能将数据中保存的数据在rxrichedit中显示出来
  详细解决方案

rxrichedit中的数据封存到数据库,但不能将数据中保存的数据在rxrichedit中显示出来

热度:4340   发布时间:2013-02-25 00:00:00.0
rxrichedit中的数据保存到数据库,但不能将数据中保存的数据在rxrichedit中显示出来?
步骤:
1.rxrichedit中数据保存到数据库中。
2.将数据库中的数据读取出来并显示在rxrichedit上。

问题:不能在rxrichedit中显示刚才步骤1中保存的数据?请各位大侠救命啊!


具体代码如下(开发环境 Delphi5):

1.保存数据
    rxrichedit.Lines.SaveToStream(res);
    ...    
    qry.Close;
    qry.SQL.Text := ' Insert into TFile(FGid,  FContent) (:FGID, :FContent) ';
    qry.ParamByName('FGid').AsInteger        :=  1;
    qry.ParamByName('FContent').LoadFromStream(res, ftBlob);
    qry.ExecSQL;
    ...
    CommitTransaction;
    ...
    通过查询数据库,数据已经保存到数据库中

2.读取数据显示在rxrichedit上
   qry.SQL.Text := 'select * from TFile where Fgid = 1';
   qry.Open;
   ...
   TBlobField(qry.FieldByName(FContent)).SaveToStream(res);
   ...
   rxRichEdit.Lines.LoadFromStream(res);  

  rxRichEdit上显示空白。很奇怪,研究了好久,都没有找出原因,请大侠们帮帮忙




------解决方案--------------------------------------------------------
试试:

从库中读出文本,直接赋值给Rtf属性

richTextBox1.Rtf = 文本
------解决方案--------------------------------------------------------
是rxRichEdit控件,好像赋不了rtf属性吧?
------解决方案--------------------------------------------------------
加上res.position := 0 就可以了。结贴了
------解决方案--------------------------------------------------------
保存
ADOQuery1.EDIT;
RXRichEdit1.Lines.SaveToFile('C:\TEMPEMAIL.RTF');
TBlobField(ADOQuery1.FieldByName('XXNR')).LoadFromFile('C:\TEMPEMAIL.RTF');
ADOQuery1.POST;

显示
TBlobField(ADOQuery1.FieldByName('XXNR')).SaveToFile('C:\TEMPEMAIL2.RTF');
RXRichEdit1.Lines.LoadFromFile('C:\TEMPEMAIL2.RTF');