2009-08-23 3 views
5

Wpf RichTextBox를 사용하여 데이터를 편집하고 SQL 필드에 다시 저장하려고합니다. 물론 간단한 텍스트가 아니라 풍부한 텍스트로 저장할 텍스트가 필요합니다.SQL에서 RichTextBox.Document를 저장하고 검색 할 수 있습니까?

  1. SQL Server에 저장하기에 가장 적합한 데이터 형식은 무엇입니까 (2005 - 파일 스트림 잊어 버림)?
  2. 저장/검색하려면 어떻게해야합니까?

답변

9

당신은 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; 
+0

안녕하세요, 토마스 Levesque. 이 답변 +1. 그것은 나를 위해 일합니다. 하지만 데이터베이스에서 검색 한 후 요소의 이벤트를 처리하는 데 문제가 있습니다. 이 질문을보십시오. https://stackoverflow.com/questions/34123349/handle-hyperlink-click-event-after-load-from-database-in-c-sharp-richtextbox –

2

SQL의 데이터 유형은 아마 NVARCHAR (MAX)해야한다 : NVARCHAR는 유니 코드를 저장할 수있는 의미하며, MAX는 무제한을 저장할 수 있다는 것을 의미 데이터 (물론 최대 2GB 어쨌든).

+0

당신은 그것을 VARBINARY 저장 recoment시겠습니까? – Shimmy

+0

varbinary는 이미지 또는 다른 바이트 스트림의 경우 일반적입니다. – edosoft

+0

성능면에서 무엇이 더 낫습니까? 이미지가 필요한지 확실하지 않습니다. 그러나 varbinary의 성능 사용량이 <= varchar 인 경우 varchar보다 좋기 때문에 SQL 원시 데이터를 읽지 못하게하고 싶습니다. 문제는 내가 [/] 바이트에서 FlowDocument를 exrecat /로드하는 방법을 모르겠다 – Shimmy

관련 문제