【发布时间】:2014-01-23 13:15:20
【问题描述】:
我有两个组合框 cmbfrom 和 cmbdest..
从 SQL 数据库中检索数据并将其设置为组合框值的代码如下:
databaseserver ser = new databaseserver();
SqlConnection con = new SqlConnection(ser.dbserver + "Initial Catalog=AirlinesDB;Integrated Security=True");
con.Open();
SqlDataAdapter citiesadp = new SqlDataAdapter("select city from cities",con);
DataSet dset = new DataSet(); //Creating instance of DataSet
citiesadp.Fill(dset,"cities");
cmbfrom.DataSource = dset.Tables["cities"];
cmbfrom.DisplayMember = "city";
con.Close();
SqlConnection con1 = new SqlConnection(ser.dbserver + "Initial Catalog=AirlinesDB;Integrated Security=True");
con1.Open();
SqlDataAdapter destcity = new SqlDataAdapter("select city from cities",con1);
DataSet destset = new DataSet();
destcity.Fill(destset,"cities");
cmbdest.DataSource = destset.Tables["cities"];
cmbdest.DisplayMember = "city";
con1.Close();
但是当我在cmbdest 中选择一个值时,它返回给我System.Data.DataRowView,而不是实际值。
从组合框中检索选定值的代码如下:
textBox1.Text = cmbdest.SelectedValue.ToString();
textBox2.Text = cmbfrom.SelectedValue.ToString();
我从第一个组合(即所选城市名称)获得实际值,但第二个组合获得值:System.Data.DataRowView。
【问题讨论】:
-
尝试选择
cmbfrom,然后会发生什么?那么'cmbdest'的值是System.Data.DataRowView.? -
No .. 他们在组合框中获得实际城市名称,如迪拜、孟买、拉等,与 cmbfrom 相同