如何把 RTF 文档内容作为文本存入数据库?(100分)

  • 主题发起人 主题发起人 ddev
  • 开始时间 开始时间
D

ddev

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:把一个 RichEdit 的格式化文本信息完整存入数据库中的一个文本域。
 
RichEdit.Lines.SaveToStream(FieldBlobStream);
要不直接用DBRichEdit,我是这么用的,自动保存到一个Memo字段,
包括格式信息和文字

-----
http://www.8421.org
 
用dbrichedit更简单些
 
我用的是标准 RichEdit 组件,
数据库是 MySQL, 字段类型是 TEXT,
是用 MySQL API 完成的存储过程,
编程语言是 BCB6
因为 RTF 串中有许多特列的符号,如:/'
在 C 中是转义符因此能存但无法读取,
谁有更好的办法?
 
问题解决:
====存储:
TMemoryStream* ms = new TMemoryStream;
RichEdit->Lines->SaveToStream(ms);
String s = (char*)(ms->Memory);
s = StringReplace(s, "//", "|", TReplaceFlags() << rfReplaceAll);
PostDocumentContents(...);

===读取:
content = StringReplace(content, "|", "//", TReplaceFlags() << rfReplaceAll);

RichEdit->Text = content;

但是,有更好的办法吗?
 
直接使用dbRichEdit,没没必要再使用其他方式,否则数据量大时会降低存取速度。
 
多人接受答案了。
 

Similar threads

后退
顶部