akosisugar Ответов: 2

C# combox отображает элементы и значение


мой комбобокс..

cbodept и cbocourse

мои таблицы БД..

tbldepartment[deptcode, dept_desc]
tblcourse[coursecode, course_desc,deptcode]

Чего я хочу:

1. во время загрузки формы : отображение всех dept_desc в cbodept.

2. Значение cbodept: я хочу, чтобы dept_desc как значение было сохранено в моей БД.

2. cbodept_SelectedIndexChanged : я хочу, чтобы загрузить все курсы, на мой cbocourse.

3. Значение cbocourse: я хочу, чтобы значение course_desc было сохранено в моей БД.

Что я уже пробовал:

private void loadDepartment()
        {
            try
            {
                SqlConnection cnn = new SqlConnection(cs.constring());
                DataSet ds = new DataSet();
                string getEmpSQL = "select deptcode from tbldepartment";
                SqlDataAdapter sda = new SqlDataAdapter(getEmpSQL, cnn);

                sda.Fill(ds);
                cbodept.DataSource = ds.Tables[0];
                cbodept.DisplayMember = ds.Tables[0].Columns[0].ToString();

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

private void loadCourse()
        {
            try
            {
                SqlConnection cnn = new SqlConnection(cs.constring());
                DataSet ds = new DataSet();
                string getEmpSQL = "select coursecode from tblcourse where department= '" + cbodept.Text + "'";
                SqlDataAdapter sda = new SqlDataAdapter(getEmpSQL, cnn);

                sda.Fill(ds);
                cbocourse.DataSource = ds.Tables[0];
                cbocourse.DisplayMember = ds.Tables[0].Columns[0].ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

private void cbodept_SelectedIndexChanged(object sender, EventArgs e)
        {
            loadCourse();
        }

2 Ответов

Рейтинг:
1

muhad@

try
          {
              SqlConnection cnn = new SqlConnection(cs.constring());
              DataSet ds = new DataSet();
              string getEmpSQL = "select deptcode from tbldepartment";
              SqlDataAdapter sda = new SqlDataAdapter(getEmpSQL, cnn);

              sda.Fill(ds);
              cbodept.DataSource = ds.Tables[0].DefaultView;
              cbodept.DisplayMember = ds.Tables[0].Columns["deptcode "].ToString();
              cbodept.ValueMember = ds.Tables[0].Columns["deptcode "].ToString();


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


muhad@

3. Используйте cbodept_SelectedValueChanged: для загрузки всех курсов

4. из вашего кода выше используйте: cbocourse.Текст, чтобы получить некоторые course_desc

akosisugar

пробовать
{
SqlConnection cnn = new SqlConnection(cs. constring());
телеканал CNN.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("вставить в tblenrollment(отдела)значения(@1)", передает CNN);



УМК.Параметры.AddWithValue("@1", cbodept. ValueMember);

int rows = cmd.Метод executenonquery();
Ящик для сообщений.Показать ("запись создана!".Метод toString());
}
поймать (исключение бывший)
{
Ящик для сообщений.Шоу (напр.Метод toString());
}
}


после сохранения .. deptcode не сохраняет dept_desc

Рейтинг:
1

Eric Mensah

private void LoadDepartment()
{
     var dt = new DataTable();
     var conn = new SqlConnection(connectionString);
     var cmd = new SqlCommand("SELECT deptcode FROM tbldepartment",conn);
     var da = new SqlDataAdapter(cmd);
     dt.Clear();
     da.fill(dt);
     for(DataRow item in dt.Rows)
       {
          cbodept.Items.Add(item[0].ToString());
       }
} 

private void LoadCourse()
{
     var dt = new DataTable();
     var conn = new SqlConnection(connectionString);
       var cmd = new SqlCommand("SELECT coursecode FROM tblcourse WHERE    department='"+cbodept.Text+"'",conn);
     var da = new SqlDataAdapter(cmd);
     dt.Clear();
     da.fill(dt);
     for(DataRow item in dt.Rows)
       {
          cbocourse.Items.Add(item[0].ToString());
       }
}
private void cbodept_SelectedIndexChanged(object sender, EventArgs e)
        {
            loadCourse();
        }