Реклама:

dreader = cmdSelectAll.ExecuteReader();

//---признак чтения первой записи

bool firstrow = true;

//---чтение ридера - в ddl_KK(ComboBox) пишутся значения

//---столбца KK из всех записей, в текстовые поля

//---(TextBox - txt_Nazv, ...) - только значения соотв.

//---столбцов из первой записи

while (dreader.Read()) {

ddl_KK.Items.Add(new

ListItem(dreader[0].ToString())); if (firstrow) {

txt_Nazv.Text = dreader[1].ToString(); txt_Fakultet.Text = dreader[2].ToString(); txt_Korpus.Text = dreader[3].ToString(); txt_Sostav.Text = dreader[4].ToString(); firstrow = false;

}

}

//---закрываем ридер и соединения

dreader.Close(); oleDbConnection1.Close();

}

1.7.6. Код для обработчика события смены текущего значения в ComboBox

Когда пользователь меняет текущий элемент в ComboBox, в текстовых полях (txt_Nazv, txt_Fakultet, txt_Korpus, txt_Sostav) нужно сменить значения столбцов таблицы. Для этого из таблицы Kaf базы данных VUZ.mdb нужно считать запись со значением столбца KK, которое содержится в текущем элементе ddl_KK. Для считывания записи из таблицы Kaf по значению столбца KK используется команда данных cmdSelectByKK.

1. Выберем элемент управления ddl_KK в форме при помощи мыши.

2. В окне свойств перейдем к списку событий элемента управления (нажав кнопку на панели кнопок окна свойств), выберем событие SelectedlndexChanged и дважды щелкнем мышью в поле значений события.

3. В текстовом редакторе кода зададим следующий обработчик события

SelectedIndexChanged:

private void ddl_KK_SelectedIndexChanged(object sender, System.EventArgs e)

{

//---текущее значение столбца KK

string sKK = ddl_KK.SelectedItem.Text;

//---заносим значение KK как значение параметра

//---запроса

cmdSelectByKK.Parameters["KK"].Value = sKK;

//---открываем соединение

oleDbConnection1.Open(); //---создаем ридер

System.Data.OleDb.OleDbDataReader dreader;

//---считываем из таблицы Kaf одну строку

//---с заданным значением столбца KK

dreader =

cmdSelectByKK.ExecuteReader(CommandBehavior.SingleRow);

//---пишем в текстовые поля формы значения столбцов

//---считанной записи

if (dreader.Read()) {

txt_Nazv.Text = dreader[1].ToString();

txt_Fakultet.Text = dreader[2].ToString();

txt_Korpus.Text = dreader[3].ToString();

txt_Sostav.Text = dreader[4].ToString(); }

//---закрываем ридер и соединение

dreader.Close(); oleDbConnection1.Close();

}

1.7.7. Код для обработчика события нажатия кнопки "Запомнить изменения"

Когда пользователь вносит изменения в значения столбцов записей в текстовых полях формы, то он может захотеть запомнить изменения в таблице Kaf базы данных VUZ.mdb. Для этого предназначена кнопка Запомнить изменения. Дважды щелкнем мышью кнопку и в текстовом редакторе программного кода зададим следующий обработчик события нажатия кнопки:

private void btn_Update_Click(object sender, System.EventArgs e) {

//---параметры команды cmdUpdate - это текущие значения

//---текстовых полей формы

cmdUpdate.Parameters["Nazv"].Value = txt_Nazv.Text; cmdUpdate.Parameters["Fakultet"].Value = txt_Fakultet.Text;


⇐ Предыдущая страница| |Следующая страница ⇒