繁体   English   中英

组合框中的System.Data.DataRowView

[英]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();

您需要正确设置DisplayMemberValueMember属性。

ComboBox1.DisplayMember = "Foo";
ComboBox1.ValueMember = "Bar";

如果不指定这些属性,则像ComboBox这样的ListControl将不知道显示什么。 因此,它仅将项目的类型显示为字符串(Type.FullName)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM