Заполните комбинированный список данными из базы данных и из этого комбинированного списка заполните другой комбинированный список другими данными из той же базы данных. - PullRequest
0 голосов
/ 11 октября 2019

Два ComboBox - cmbSupplier и cmbProduct

Я хочу заполнить cmbSupplier именами поставщиков из таблицы

, когда я выбираю значение из cmbSupplier в зависимости от выбранного имени. Продукты с именем поставщика должныfill cmbProduct

private void frmAddOrder_Load (отправитель объекта, EventArgs e) {

        SqlCommand cmd = new SqlCommand("SELECT sup_name from tbl_supplier",con);
        con.Open();
        SqlDataReader dr = cmd.ExecuteReader();

        while(dr.Read())
        {
            cmbSupplier.Items.Add(dr["sup_name"].ToString());
        }
        dr.Close();




    }

это код, который я использую для заполнения cmbSupplier

Я пытался использовать этот код для заполненияcmbProducts, но все, что я получаю, это ошибка

         private void cmbSupplier_SelectedIndexChanged(object sender, EventArgs e)
    {


        SqlCommand cmd = new SqlCommand("SELECT Product_Name from tbl_SupplierItems WHERE supplier_name'" + cmbSupplier.Text + "%'", con);
        con.Open();
        SqlDataReader dr = cmd.ExecuteReader();


        while(dr.Read())
        {
            cmbProduct.Items.Add(dr["Product_Name"].ToString());
        }
        dr.Close();



    }

1 Ответ

0 голосов
/ 11 октября 2019

Неправильный запрос. Вместо

SqlCommand cmd = new SqlCommand("SELECT Product_Name from tbl_SupplierItems WHERE supplier_name'" + cmbSupplier.Text + "%'", con);

Вы должны написать

SqlCommand cmd = new SqlCommand("SELECT Product_Name from tbl_SupplierItems WHERE supplier_name <b>=</b> '" + cmbSupplier.Text + "%'", con);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...