0

我只是试图将数据插入到 Sql 中,从 windows 窗体中的组合框中选择项目。但是在数据库中插入后不显示所选项目的值,而是显示(“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”)

有什么建议吗?

4

2 回答 2

1

您可以尝试以下更新的代码。

var row = (DataRowView)comboBox10.SelectedItem;    
SqlCommand cmd = new SqlCommand("Insert into CPP (Name) values ('" + row["Name"].ToString() + "')", con);    
cmd.ExecuteNonQuery();
于 2012-09-06T00:28:05.080 回答
0

您需要相应地设置 DisplayMemberValueMember属性。

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

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

于 2012-09-05T22:19:07.367 回答