将组合框的值插入 WPF 中的数据库

Posted

技术标签:

【中文标题】将组合框的值插入 WPF 中的数据库【英文标题】:Inserting value of combobox into a database in WPF 【发布时间】:2021-09-03 22:50:27 【问题描述】:

我想在数据库中插入一个组合框值。我的代码如何插入:

string query = "insert into DonorsDB values ('" + DName.Text + "'," + DAge.Text + ",'" + DGender.SelectedValue.ToString() + "','" + DPhone.Text + "','" + DBloodGroup.SelectedValue.ToString() + "')";

Con.Open();

SqlCommand cmd = new SqlCommand(query, Con);
cmd.ExecuteNonQuery();

MessageBox.Show("Donor successfully saved!");
Con.Close();

但是当我想在列表视图中显示数据时,我有这样的东西:

如何仅插入组合框中的值?

【问题讨论】:

请使用参数防止SQLi... 并对您的对象(表)名称进行模式限定,并始终为插入语句指定列列表。了解using statement。养成良好的习惯。 【参考方案1】:

因为您使用的是DGender.SelectedValue.ToString()DBloodGroup.SelectedValue.ToString()。 SelectedValue 下的基础对象不是您期望的 Gender 类\枚举。类型为ComboBoxItem,调用ToString后返回类的全限定名。

您必须从SelectedItem 属性中提取实际的Gender 值,然后对其调用ToString 方法(与DBloodGroup.SelectedValue 相同)

【讨论】:

以上是关于将组合框的值插入 WPF 中的数据库的主要内容,如果未能解决你的问题,请参考以下文章

选择项目后将多列组合框的值设置为所有列?

在WPF中的组合框中显示MySQL数据库的列?我只显示'System.Data.DataRowView'

如何在 WPF 中隐藏组合框的项目

尝试在 WPF 中设置组合框的背景

将组合框的值作为字段传递

将组合框设置为另一个组合框的值 - Access Vba