在数据库上保存RTF并将其重新加载到WinForms应用程序中

时间:2019-06-28 07:17:50

标签: c# .net

我有一个带有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时引发参数异常。知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

结果是我只是没有在SQL查询中转义一些字符。现在一切似乎都正常了。