【问题标题】:Save and retrieve RichTextBox.Document from/to SQL?从/向 SQL 保存和检索 RichTextBox.Document?
【发布时间】:2009-08-24 00:07:48
【问题描述】:

我想使用 Wpf RichTextBox 来编辑数据并将其重新保存到 SQL 字段。 我当然需要将文本保存为富文本,当然不仅仅是简单的文本。

  1. 哪种数据类型最适合存储在 SQL Server 中(2005 - 忘记文件流)?
  2. 如何保存/检索它?

【问题讨论】:

    标签: wpf sql-server-2005 richtextbox


    【解决方案1】:

    您可以使用 XamlWriter 将文档保存为 XAML 字符串:

            StringWriter wr = new StringWriter();
            XamlWriter.Save(richTextBox.Document, wr);
            string xaml = wr.ToString();
    

    然后您可以像任何其他文本一样将 XAML 字符串保存到数据库中。

    要从 XAML 字符串重新加载它,请使用 XamlReader :

            FlowDocument doc = XamlReader.Parse(xaml) as  FlowDocument;
    

    【讨论】:

    【解决方案2】:

    SQL 中的数据类型可能应该是 NVARCHAR(MAX):Nvarchar 表示您可以存储 unicode,而 MAX 表示您可以存储无限量(无论如何最多 2GB)的数据。

    【讨论】:

    • 你会建议将其保存为 varbinary 吗?
    • varbinary 通常用于图像或其他字节流。
    • 什么对性能更好?我不确定是否需要图像。但是如果 varbinary 的性能使用 提取/加载 FlowDocument
    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 2013-06-14
    • 2013-04-16
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2021-03-29
    相关资源
    最近更新 更多