步骤:
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');