首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

*小弟我想把RxRichEdit里面图文混编的内容保存到数据库里面,用什么方法最好

2012-06-13 
**我想把RxRichEdit里面图文混编的内容保存到数据库里面,用什么方法最好RxRichEdit里面既有图片又有文字,

**我想把RxRichEdit里面图文混编的内容保存到数据库里面,用什么方法最好
RxRichEdit里面既有图片又有文字,用什么方法保存,即节省空间,效率又比较高呢?

[解决办法]
保存成流格式在数据库中,不过如果数据很大的话,保存成文件存放在电脑上吧,数据库就只保存路径

流格式大概像这样:

Delphi(Pascal) code
var  MS:TMemoryStream;begin  MS:=TMemoryStream.Create;  try    Adoquery1.append;    RxRichEdit.Lines.SaveToStream(MS);    MS.Position:=0;      TBlobField(Adoquery1.FieldByName('KKOO')).LoadFromStream(MS);    Adoquery1.post;  finally    MS.Free;  end;end;
[解决办法]
RichEdit 存为流同样是 rtf编码,这个编码就是以16进制的文本来保存二进制数据,一个二进制字节,要用3个字节来保存,再加上格式控制码字节会比3个字节还多, (类似\hh 的文本,当然占的空间大了),既然是可见纯文本,用Zlib压缩一下吧,压缩比能达到5:1,空间是很可观的,效率上稍微要慢一点点,不过对单记录来说不会有感觉的。
首先把RichEdit存到内存流中,然后用TCompressionStream压缩,最后把输出流保存到数据库中,解压缩反之,用TDecompressionStream而已。

热点排行