我只是试图将数据插入到Sql中选择项目来自windows窗体中的组合框。 但是在数据库中插入后没有显示所选项的值,但它显示(“System.Data.DataRowView”)。
我的插入代码是。
FORM LOAD -
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];
在BUTTON CLICK EVENT上 -
SqlCommand cmd = new SqlCommand("Insert into CPP (Name) values ('" + comboBox10.SelectedItem.ToString() + "')", con);
cmd.ExecuteNonQuery();
插入选择项后。 它显示在数据库表 - (“System.Data.DataRowView”)
中有什么建议吗?
答案 0 :(得分:1)
您可以尝试以下更新的代码。
var row = (DataRowView)comboBox10.SelectedItem;
SqlCommand cmd = new SqlCommand("Insert into CPP (Name) values ('" + row["Name"].ToString() + "')", con);
cmd.ExecuteNonQuery();
答案 1 :(得分:0)
您需要设置DisplayMember
和ValueMember
属性。
ComboBox1.DisplayMember = "Foo";
ComboBox1.ValueMember = "Bar";
如果未指定这些属性,则ComboBox之类的ListControl不知道要显示的内容。因此它只显示项目的类型为字符串(Type.FullName)。