[英]System.Data.DataRowView in combobox
我只是想从Windows窗体的组合框中选择项目,将数据插入Sql中。 但是在数据库中插入后不会显示所选项目的值,而是显示(“ System.Data.DataRowView”)。
我的插入代码是。
表格加载
SqlDataAdapter adp = new SqlDataAdapter("select * from CPP", con);
DataSet ds= new DataSet();
adp.Fill(ds);
comboBox10.DisplayMember = "Name";
comboBox10.ValueMember = "Id";
comboBox10.DataSource = ds.Tables[0];
在按钮单击事件上-
SqlCommand cmd = new SqlCommand("Insert into CPP (Name) values ('" + comboBox10.SelectedItem.ToString() + "')", con);
cmd.ExecuteNonQuery();
插入选择性项目后。 它在数据库中显示表-(“ System.Data.DataRowView”)
有什么建议吗?
您可以尝试以下更新的代码。
var row = (DataRowView)comboBox10.SelectedItem;
SqlCommand cmd = new SqlCommand("Insert into CPP (Name) values ('" + row["Name"].ToString() + "')", con);
cmd.ExecuteNonQuery();
您需要正确设置DisplayMember
和ValueMember
属性。
ComboBox1.DisplayMember = "Foo";
ComboBox1.ValueMember = "Bar";
如果不指定这些属性,则像ComboBox这样的ListControl将不知道显示什么。 因此,它仅将项目的类型显示为字符串(Type.FullName)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.