如何使用实体框架将 RichTextBox 内容存储到 WPF 中的 SQLServer 数据库
Posted
技术标签:
【中文标题】如何使用实体框架将 RichTextBox 内容存储到 WPF 中的 SQLServer 数据库【英文标题】:How to Store RichTextBox Content to SQLServer Database in WPF using Entity Framework 【发布时间】:2019-03-13 21:28:50 【问题描述】:我在使用实体框架将RichTextBox
格式化到我的数据库中时遇到了一个非常令人沮丧的问题。
这是我的代码:
namespace simpleton
/// <summary>
/// Interaction logic for AddNewOE.xaml
/// </summary>
public partial class AddNewOE : Window
//db connection
simpletonDBEntities _db = new simpletonDBEntities();
public AddNewOE()
InitializeComponent();
private void insertobBtn_Click(object sender, RoutedEventArgs e)
db_entry newdb_entries = new db_entry()
ReportDetails = ConvertRtbToBytes(rtfText)
;
_db.ob_entries.Add(newOb_entries);
_db.SaveChanges();
public static byte[] ConvertRtbToBytes(string richTextBox)
byte[] data = null;
string rtfText; //string to save to db
TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
using (MemoryStream ms = new MemoryStream())
tr.Save(ms, DataFormats.Rtf);
rtfText = Encoding.ASCII.GetString(ms.ToArray());
return data;
ConvertRtbToBytes()
函数出现错误:
“字符串”不包含“文档”的定义,并且找不到接受第一个字符串类型参数的可访问扩展方法“文档”(您是否缺少 using 指令或程序集引用?)
我也确定通用代码不行。
【问题讨论】:
只是建议:在这里,您不要将标题更改为“已解决”,而是将答案标记为已接受。 注明,谢谢 【参考方案1】:你需要更加小心你的问题描述,因为我怀疑你想在数据库中存储一个 RichTextBox。我猜你想将 RichTextBox 的 content 存储在数据库中。
错误本身是不言自明的:
“字符串”不包含“文档”的定义,并且找不到接受第一个字符串类型参数的可访问扩展方法“文档”(您是否缺少 using 指令或程序集引用?)
您有一个名为 richTextBox
的参数,类型为 string
,稍后您尝试以这种方式使用它:
public static byte[] ConvertRtbToBytes(string richTextBox)
// ...
TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
// ...
所以您尝试访问string
的Document
属性,但string
没有Document
属性。您可能打算创建RichTextBox
类型的参数。
话虽如此,您的代码还有很多缺陷,甚至无法编译:
在方法insertobBtn_Click
:
rtfText
已使用,但从未定义
您创建了一个名为newdb_entries
的变量,但尝试保存一个名为newOb_entries
的变量
在方法ConvertRtbToBytes
:
byte[] data = null;
并返回 data
,但 data
从未设置或填充数据
您定义 rtfText
并为其分配一些值,但不要对它做任何事情
【讨论】:
以上是关于如何使用实体框架将 RichTextBox 内容存储到 WPF 中的 SQLServer 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何将 BlockUIContainer 中 RichTextBox 的内容保存到 RTF 文件?
HOW TO:使用 Visual C# .NET 打印 RichTextBox 控件的内容