高手你好,请教一个问题。怎么用lable获取combox中的选项对应的数据库的值。combox中的选项连接一个数据库表中的值,把这个值用lable显示,这个值是个数字,用来计算。      我的数据库就两列,一个是型号,一个是价格。combox中的下拉选项是型号,我的意思是在combox中选一个型号,然后查询数据库,把对应的价格在lable中显示。具体的查询数据库的代码该怎么写,谢谢帮忙!      

解决方案 »

  1.   

    string str="select 价格 from 表名 where 型号='+combox.Text+'"
      

  2.   

    写在combox的SelectedIndexChanged事件里。
      

  3.   

    string str="select 价格 from 表名 where 型号='+combox.Text+'"
    用combox indextchange 时间调用 给lable赋值
      

  4.   

    string str="select 价格 from 表名 where 型号='+combox.Text+'";
    label.Text=str;
    如楼上所说,写在combox的SelectedIndexChanged事件里。
      

  5.   

    label.Text=str;    ?   
     
      

  6.   

    在绑定comboBox的数据的时候
    DataTable dt=new DataTable();
    //获取dt数据,Sql语句:select 价格,型号 from 表名
     comboBox1.DisplayMember = "型号";//显示出来的列的值
     comboBox1.ValueMember = "价格";//作为combobox的Value值
     comboBox1.DataSource = dt;
    然后在combox的SelectedIndexChanged事件里代码写:
    label.Text=comboBox1.SelectedValue.ToString();
      

  7.   

    显示啊。读取comboBox的值
    string name= combobox.text;丢过去查询。查询Dataset。把值取出来。
    如果有实体就更简单了。下面是无实体的sql
    select 价格 from  表  where  型号=@型号decimal money=decimal.Parse(ds.Table[0].rows[i]cell[1].value)//i代表你是否需要循环,不循环就0
      

  8.   

    数据库只有两列为什么不把价格作为下拉框的value的值,型号作为显示的值,这样在SelectedIndexChanged这个事件里面直接把value给label不就是了
      

  9.   

    谢谢各位,还一个问题,我没有表达清楚。combobox里的内容是我用combobox1.items.add“”;加进去的,数据库中一个型号对应三个价格。也就是说,一个型号又分为三个小型号,我的意思是在combobox中选择一个大型号,combobox不连接数据库,只是把这个型号对应的三个小型号的价格显示在三个label中。谢谢各位!
      

  10.   

    发生在combox的 SelectedIndexChanged事件中,string sql="select 价格 from 表名 where 型号='"+combox.Text+"'";在用个sqldatareader 读取
    if(objreader.Read())
    {
       leble1.text=objreader["价格名称"].tostring();
    }
      

  11.   

    根据楼主的描述,回答如下:1、ComboBoxItem 包含单个型号,应该很好处理2、ComboBoxItem 包含多个型号var item = cb.SelectedItem as sting
    利用 string.Split 分割
    var models = item.Split(
        new char[] { ',', '{', '}' },
        StringSplitOptions.RemoveEmptyEntries);
    models 中存储即为 {} 分割的型号了
      

  12.   

    其实用 .Net3/3.5/4 利用 DataContext 应该更容易处理些
      

  13.   

    我今天也刚好碰到这个题,不过和你的不一样我的是需要选一个值将对应的值显示在另一个combox
    我是这么做的,希望能对你有帮助,呵呵:
    DBHelep.conn.Close();//这个是连接数据库字段,我定义在一个单独的类里,这样更方便调用,不用每次都去输入然后执行查询语言// string sql = "select teacherID,teacherName from teacher";//你可以将里面的值自己改一下在getdate()方法里,我直接调用的,这个是为了让数据更准确,让数据库的商品都自己显示在 comboBox里面,不用手工输入,根据个人爱好;
                //这里面的值你自己看着改就好了
                 string sql = "select teacherID,teacherName from teacher";
                try
                {
                    DBHelep.conn.Open();
                    SqlCommand comm = new SqlCommand(sql, DBHelep.conn);
                    SqlDataReader dr = comm.ExecuteReader();                if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            this.comboBox1.Items.Add(dr[0].ToString());
                        }//第一个里面放需要查询的东西的数据
                        this.comboBox1.SelectedIndex = 0;//让他的索引值成第一个
                    }
                    else
                    {
                        MessageBox.Show("数据库没有任何信息!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                    }
                    dr.Close();//关闭SqlDataReader对象
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    MessageBox.Show("连接数据库出错!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                finally
                {
                    DBHelep.conn.Close();
                }
    然后再一个类去查询商品价格就行了那个Sql语句
    string sql = string Format("select 价格 from 表名 where 型号='{0}',combox.Text");
               try
                {
                    DBHelep.conn.Open();
                    SqlCommand comm = new SqlCommand(sql, DBHelep.conn);
                    SqlDataReader dr = comm.ExecuteReader();                if (dr.HasRows)//如果返回的是true,也就是说数据库里有记录这个商品的价格
                    {
                      this.lable.Text=dr[0].ToString();
                     //你的商品只有一个价格返回的值也应该就一个                }
                    else
                    {
                        MessageBox.Show("数据库没有任何信息!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                    }
                    dr.Close();//关闭SqlDataReader对象
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    MessageBox.Show("连接数据库出错!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                finally
                {
                    DBHelep.conn.Close();
                }
    哪里做错的还请各位指教
      

  14.   

    string name= combobox.text;
    写在combox的SelectedIndexChanged事件里。
    string str="select 价格 from 表名 where 型号='+combox.Text+'"
    lable.text=str;