如何使用 Entity Framework 在 WPF 中将 RichTextBox 内容存储到 SQLServer 数据库
How to Store RichTextBox Content to SQLServer Database in WPF using Entity Framework
我在使用 entity framework.
将格式化的 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()
函数上遇到错误:
'string' does not contain definition for 'Document' and no accessible extension method 'Document' accepting a first argument of type string could be found (are you missing a using directive or an assembly reference?)
我也确定通用代码不行
你的问题描述需要更加小心,因为我怀疑你想在数据库中存储一个RichTextBox。我猜您想将 RichTextBox 的 content 存储在数据库中。
错误本身是不言自明的:
'string' does not contain definition for 'Document' and no accessible extension method 'Document' accepting a first argument of type string could be found (are you missing a using directive or an assembly reference?)
您有一个名为 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;
和 return data
,但 data
从未设置或填充数据
- 您定义
rtfText
并为其分配一些值,但不对其进行任何操作
我在使用 entity framework.
将格式化的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()
函数上遇到错误:
'string' does not contain definition for 'Document' and no accessible extension method 'Document' accepting a first argument of type string could be found (are you missing a using directive or an assembly reference?)
我也确定通用代码不行
你的问题描述需要更加小心,因为我怀疑你想在数据库中存储一个RichTextBox。我猜您想将 RichTextBox 的 content 存储在数据库中。
错误本身是不言自明的:
'string' does not contain definition for 'Document' and no accessible extension method 'Document' accepting a first argument of type string could be found (are you missing a using directive or an assembly reference?)
您有一个名为 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;
和 returndata
,但data
从未设置或填充数据 - 您定义
rtfText
并为其分配一些值,但不对其进行任何操作