簡體   English   中英

將文本和值從數據庫表保存到組合框中

[英]save a text and a value into combobox from a database table

我想從表“EMPLOYE”(SQL DB)中獲取用戶的名字和姓氏並將它們保存在組合框中。 我想在組合框值中保存每個用戶的 ID。 所以這是我的代碼 =>

       public void fill_combobox_users()
    {
        // auto-complete
        comboBox3.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        comboBox3.AutoCompleteSource = AutoCompleteSource.ListItems;

        da = new SqlDataAdapter("select ID_EMP, concat(NOM_EMP,' ',PRENOM_EMP) as 'nom_prenom' from EMPLOYE", cn);
        DataTable dt = new DataTable();
        try
        {
            cn.Open();
            da.Fill(dt);
            comboBox3.DataSource = dt;
            comboBox3.DisplayMember = "nom_prenom";
            comboBox3.ValueMember = "ID_EMP";
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        finally
        {
            cn.Close();
        }

    }

全名顯示沒有問題,但值沒有!! 問題是,combobox3.ValueMember 使用字符串“ID_EMP”而不是表 EMPLOYE 中的值!

請提供任何解決方案?

像這樣編輯您的 sql 查詢。 應該管用

 public void fill_combobox_users()
        {
            // auto-complete
            comboBox3.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            comboBox3.AutoCompleteSource = AutoCompleteSource.ListItems;

            da = new SqlDataAdapter("select ID_EMP,(NOM_EMP+ ' ' + PRENOM_EMP) AS NOMM from EMPLOYE", cn);
            DataTable dt = new DataTable();
            try
            {
                cn.Open();
                da.Fill(dt);
                comboBox3.DataSource = dt;
                comboBox3.DisplayMember = "NOMM";
                comboBox3.ValueMember = "ID_EMP";
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            finally
            {
                cn.Close();
            }

        }

要獲得價值嘗試

MessageBox.Show(comboBox3.SelectedValue.ToString())

列名是您要使用列索引的問題,請參見此處。

 public void fill_combobox_users()
    {
        // auto-complete
        comboBox3.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        comboBox3.AutoCompleteSource = AutoCompleteSource.ListItems;

        da = new SqlDataAdapter("select ID_EMP,(NOM_EMP+ ' ' + PRENOM_EMP) AS NOMM from EMPLOYE", cn);
        DataTable dt = new DataTable();
        try
        {
            cn.Open();
            da.Fill(dt);
            comboBox3.DataSource = dt;
            comboBox3.DisplayMember = dt.Columns[1].ColumnName;
            comboBox3.ValueMember = dt.Columns[0].ColumnName;
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        finally
        {
            cn.Close();
        }

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM