使用C#& MySQL的
当我从组合框中选择一个特定值然后我点击按钮时,相应的值应该显示在另一个文本框中
码
protected void Button1_Click(object sender, EventArgs e)
{
cmd2 = new OdbcCommand("Select name from users where username = '" + combobox1.Text + "' ", con);
dr1 = cmd2.ExecuteReader();
while (dr1.Read())
{
textbox1.Text = dr1.GetString(0);
}
dr1.Close();
}
以上代码正常工作,但没有显示在Textbox1中,只有查询中存在问题,我更改了Select name from users where username = '005'
之类的查询
输出显示在textbox1中,但是当我使用组合框值时,它不显示。
我也尝试过:
combobox1.text, combobox1.selectedvalue, combobox1.selecteditem, combobox1.selectedindex
组合框填充代码
cmd2 = new OdbcCommand("Select username from users, con);
ada2 = new OdbcDataAdapter(cmd2);
ada2.Fill(data2);
combobox1.DataValueField = "username";
combobox1.DataSource = data2;
combobox1.DataBind();
用户名值,如201,202,203 ....,
为什么在使用组合框值时执行查询....
需要查询帮助
答案 0 :(得分:4)
如果您使用的是winform控件,请使用以下代码
comboBox1.DataSource = list;
comboBox1.ValueMember = "Name";
从组合框获取值使用comboBox1.SelectedValue [它将返回对象类型]
答案 1 :(得分:3)
comboBox1.Items[comboBox1.SelectedIndex].Text
应该会给你你想要的东西。
将您的组合框的填充代码包装在
中if (!Page.IsPostBack) {}
只有在第一次加载页面时才应填充它,而不是在后续回发时填写,否则每次页面回发时都会重置绑定。
答案 2 :(得分:1)
您应该使用combobox1.SelectedItem.Text
来获得所需的结果。