在comboBox1里添加了一些值,但我想要得到里面的value值,但Winform里面好象没value值,假如添加的值是编号,但value对应的id,现在想要通过查询语句select * from jobs where '" + this.comboBox1.SelectedValue + "' like '%" + this.textBox1.Text + "%'",在web上可以通过,Winform该怎么写?
SqlConnection objcon = new SqlConnection("server=.;uid=sa;pwd=314;database=pubs"); objcon.Open(); SqlDataAdapter da = new SqlDataAdapter("select * from jobs where '" + this.comboBox1.SelectedValue + "' like '%" + this.textBox1.Text + "%'", objcon); DataSet ds = new DataSet(); da.Fill(ds, "jobs"); dataGridView1.DataSource = ds.Tables["jobs"]; this.comboBox1.DisplayMember = "编号"; this.comboBox1.ValueMember = "job_id"; //如:this.comboBox1.ValueMember = "id" this.comboBox1.DataSource = ds.Tables["jobs"]; 是这样写吗.如果不对该怎么改?
SqlDataAdapter da = new SqlDataAdapter("select * from jobs where '" + this.comboBox1.SelectedValue + "' like '%" + this.textBox1.Text + "%'", objcon); 这一句,如果顺序不错的话,这个时候的ComboBox的SelectedValue恐怕是空值吧。
where 后应该跟TABLE 的栏位名啊,如果你COMBOX里放的是TABLE的栏位那你就要把 SqlDataAdapter da = new SqlDataAdapter("select * from jobs where '" + this.comboBox1.SelectedValue + "' like '%" + this.textBox1.Text + "%'", objcon); 这句改为 SqlDataAdapter da = new SqlDataAdapter("select * from jobs where " + this.comboBox1.SelectedValue.ToString() + " like '%" + this.textBox1.Text + "%'", objcon);
this.comboBox1.DisplayMember = "[前台显示的字段]";
this.comboBox1.ValueMember = "[后台显示的字段]"; //如:this.comboBox1.ValueMember = "id"
this.comboBox1.DataSource = "[数据源]";
ComboBoxTreatmentSort.DisplayMember = "code_name";//这个是datatable里面的栏位
ComboBoxTreatmentSort.ValueMember = "code_id";//这个是datatable里面的栏位ComboBoxTreatmentSort.SelectedValue.ToString() 对应的就是ValueMember 里帮定的栏位的值
是这样写吗.如果不对该怎么改?
dt.Columns.Add("Key", Type.GetType("System.String"));
dt.Columns.Add("Text", Type.GetType("System.String"));
dt.Rows.Add(job_id, "编号");
dt.Rows.Add(min_lvl, "最小值");
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Text";
comboBox1.ValueMember = "Key";
现在改成这样写了,但为什么查不出数据.帮忙看下!! 谢谢
ComboBoxTreatmentSort.DisplayMember = "code_name";//这个是datatable里面的栏位
ComboBoxTreatmentSort.ValueMember = "code_id";//这个是datatable里面的栏位 ComboBoxTreatmentSort.SelectedValue.ToString() 对应的就是ValueMember 里帮定的栏位的值
参考
SqlDataAdapter da = new SqlDataAdapter("select * from jobs where '" + this.comboBox1.SelectedValue + "' like '%" + this.textBox1.Text + "%'", objcon);
这句改为 SqlDataAdapter da = new SqlDataAdapter("select * from jobs where " + this.comboBox1.SelectedValue.ToString() + " like '%" + this.textBox1.Text + "%'", objcon);
ComboBox1.Text
在看数据访问. 输出下语句. 调试下。.
ComboBox.DisplayMember = "code_name";//这个是datatable里面的字段
ComboBox.ValueMember = "code_id";//这个是datatable里面的字段
public class ComboBoxItem
{
private int id;
private string name;
public ComboBoxItem()
{
id=0;
name=string.Empty;
}
public int Id
{
get{return id;}
set{id=value;}
}
public string Name
{
get{return name;}
set{name=value;}
}
} //应用示例
ComboBoxItem cbi=new ComboBoxItem();
cbi.Id=5;
cbi.Name="北京";
System.Collections.ArrayList al=new ArrayList();
al.Add(cbi);
ComboBox cb1=new ComboBox();
cb1.DataSource=al;
cb1.DisplayMember="Name";//注意大小写,这里对应定义的public属性名
cb1.ValueMember="Id";
cb1.DropDownStyle=ComboBoxStyle.DropDownList;//定义样式为只读。默认是可读写