首页 > 解决方案 > 将 RTF 保存在数据库上并将其加载回 WinForms 应用程序

问题描述

我有一个带有 RichTextBox 控件的 Windows 窗体应用程序。我希望用户在该控件上编写富文本(使用粗体、更改字母大小和所有这些内容),将该富文本保存在数据库中,然后在正确格式化的 Windows 窗体应用程序上再次加载它。

我尝试这样做的方式是,我将包含 RichTextBox.Rtf 属性的内容保存在数据库中的 varchar 字段中,如下所示:

string richText = myRichTextBox.Rtf;

然后将richText 保存在数据库中,与该行中读取的内容完全相同。要将富文本加载回 winform,代码有点棘手:

//Function that receives a string whit rich text and loads it into richTextBox
private void LoadRTF(string RTF)
{
    MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(RTF));
    myRichTextBox.LoadFile(stream, RichTextBoxStreamType.RichText);
} //LoadRTF

问题在于最后一个代码,当从数据库加载 RTF 时会引发参数异常。知道为什么会这样吗?

标签: c#.net

解决方案


原来我只是没有转义 SQL 查询中的某些字符。现在一切似乎都很好。


推荐阅读