c# - 如何使用实体框架将 RichTextBox 内容存储到 WPF 中的 SQLServer 数据库
问题描述
我遇到了一个非常令人沮丧的问题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 指令或程序集引用?)
我也确定通用代码不行。
解决方案
你需要更加小心你的问题描述,因为我怀疑你想在数据库中存储一个 RichTextBox。我猜您想将RichTextBox的内容存储在数据库中。
错误本身是不言自明的:
“字符串”不包含“文档”的定义,并且找不到接受第一个字符串类型参数的可访问扩展方法“文档”(您是否缺少 using 指令或程序集引用?)
您有一个名为richTextBox
type的参数string
,稍后您尝试以这种方式使用它:
public static byte[] ConvertRtbToBytes(string richTextBox)
{
// ...
TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
// ...
}
因此,您正在尝试访问Document
a 的属性string
,但string
没有Document
属性。您可能打算制作 type 的参数RichTextBox
。
话虽如此,您的代码还有更多缺陷,甚至无法编译:
在方法中insertobBtn_Click
:
rtfText
被使用,但从未定义- 您创建了一个名为 的变量
newdb_entries
,但尝试保存一个名为newOb_entries
在方法中ConvertRtbToBytes
:
- 您声明
byte[] data = null;
并返回data
,但data
从未设置或填充数据 - 你定义
rtfText
并赋予它一些价值,但不要对它做任何事情
推荐阅读
- reactjs - useState / useEffect 反应传播运算符的错误
- xml - 如何反序列化java Long哪个xml标签有xsi:nil?
- regex - solr 模式替换过滤器
- python - 将 2 个数据框合并为 1 个结果数据框
- c# - 尝试在 .NET Core 3.0 中同步执行 foreach 循环时出现明显问题
- javascript - 功能与表单元素一起使用。我还需要重置按钮,但它只适用于
- animation - 闪亮效果(颤振)
- c++ - 如何在 WinAPI 控制台中保持输出和输入分开?
- java - 如何在 LIKE jpql 查询中使用报价?
- stylelint - 仅在特定文件中启用 stylelint