Сохранить и получить RichTextBox.Document из / в SQL? - PullRequest
5 голосов
/ 23 августа 2009

Я хочу использовать Wpf RichTextBox для редактирования данных и сохранения их в поле SQL. Конечно, мне нужно сохранить текст как форматированный текст, а не просто текст.

  1. Какой тип данных лучше всего хранить на сервере SQL (2005 - забудьте о потоке файлов)?
  2. Как мне сохранить / восстановить его?

Ответы [ 2 ]

9 голосов
/ 23 августа 2009

Вы можете сохранить документ в строку XAML, используя XamlWriter:

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

Затем можно сохранить строку XAML в базе данных, как любой другой текст.

Чтобы перезагрузить его из строки XAML, используйте XamlReader:

        FlowDocument doc = XamlReader.Parse(xaml) as  FlowDocument;
2 голосов
/ 23 августа 2009

Тип данных в SQL, вероятно, должен быть NVARCHAR (MAX): Nvarchar означает, что вы можете хранить Unicode, а MAX означает, что вы можете хранить неограниченное количество (в любом случае, до 2 ГБ) данных.

...