富文本框值存储在数据库中
Posted
技术标签:
【中文标题】富文本框值存储在数据库中【英文标题】:rich text box value store in database 【发布时间】:2020-12-07 07:30:28 【问题描述】:我有一个名称为placeofstudent1
的富文本框。我想将富文本框中写入的任何内容存储在一个名为 Place
的变量中,以便我可以将该信息传递到数据库中。
try
string name = nameofstudent.Text;
string father = fatherofstudent.Text;
string mother = motherofstudent.Text;
string id = stud_id.Text;
string gender;
if (male.IsChecked == true)
gender = "M";
else
gender = "F";
string studentAge = ageofstudent.Text;
DateTime dt = Convert.ToDateTime(dob.Text);
int Age = Convert.ToInt16(ageofstudent.Text);
string Place = placeofstudent1.Text;
connect();
con.Open();
string saved = "insert into student_details (student_id,student_name,father_name,mother_name,gender,age,dob,place,class)values('" + id + "', '" + name + "','" + father + "','" + mother + "','" + gender + "','" + Age + "','" + dt + "','" + Place + "','" + x + "')";
SqlCommand cmd = new SqlCommand(saved, con);
cmd.ExecuteReader();
con.Close();
如果我尝试使用.Text
填充变量Place
,它不起作用。我可以使用什么方法来实现这一点?感谢您的帮助。
【问题讨论】:
您使用了错误的控件。目前您使用的是 WinForms 控件而不是 WPF 控件。您期望富文本内容吗?我对此表示怀疑。对于姓名和其他人员相关数据,您不使用格式化文本。请改用普通的 TextBox,它更轻量级且更易于处理。 我被告知要使用富文本框,这就是我使用它的原因。另外,我想学习如何使用它。 这是正确的System.Windows.Controls.RichTextBox
(注意不同的命名空间)。您会注意到它没有 Text
属性。您必须手动将内容(RichTextBox.Document
,即FlowDocument
)转换为字符串。
【参考方案1】:
您使用了错误的控件。目前您使用的是 WinForms 控件而不是 WPF 控件。
这是正确的System.Windows.Controls.RichTextBox
(注意不同的命名空间)。您会注意到 WPF 实现没有Text
属性,而是Document
属性。
您必须手动将内容(RichTextBox.Document
,即FlowDocument
)转换为字符串。
<Window>
<RichTextBox x:Name="MyRichTextBox" />
</Window>
var richTextBoxContentRange = new TextRange(
this.MyRichTextBox.Document.ContentStart,
this.MyRichTextBox.Document.ContentEnd);
string richTextBoxText = richTextBoxContentRange.Text;
【讨论】:
我尝试在我的参考文献中找到 System.Windows.Controls.RichTextBox,但我找不到。 你有 XAML 代码吗?您确定您正在处理 WPF 项目吗?您的视图是窗口还是表单?请您发表一下您的看法吗? 我正在使用 WPF,我的视图是窗口。我不知道如何展示我的观点^^' 但是您必须能够使用该控件。默认情况下,所有框架控件都可用。我只是要求你展示你的 XAML 代码。我感觉你的目标是错误的框架。首先从您的项目中删除所有 WinForms 引用。如果还是不行,就新建一个工程或者Window文件,从那里开始。以上是关于富文本框值存储在数据库中的主要内容,如果未能解决你的问题,请参考以下文章