Здравствуйте.
Прогружаю грид по хранимой процедуре. Параметр для процедуры берется по изменению значения в Combobox.
Проблема в том, что при повторном запуске процедуры предыдущие строки тоже выводятся.
Например, при первом изменении значений Combobox процедура выдала 5 строк. При повторном изменении того же самого значения Combobox строк уже 10, а должно быть 5.
using (SqlConnection con = new SqlConnection(connstring))
{
try
{
con.Open();
}
catch
{
MessageBox.Show("Oшибка открытия соединения", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
SqlCommand com = con.CreateCommand();
com.CommandText = "dbo.prc_ExamenQuestion_po_param";
com.CommandType = CommandType.StoredProcedure;
SqlParameterCollection prm = default(SqlParameterCollection);
prm = com.Parameters;
prm.Add("@id_Fak", SqlDbType.NVarChar, 50);
prm["@id_Fak"].Value = curFacultet;
prm.Add("@id_exam_card_titul", SqlDbType.NVarChar, 50);
prm["@id_exam_card_titul"].Value = cbNumberOfTickets.SelectedValue.ToString();
SqlDataAdapter adapt = new SqlDataAdapter();
adapt.SelectCommand = com;
try
{
adapt.Fill(myDs, "ExamenQuestion");
}
catch
{
MessageBox.Show("Ошибка загрузки оценок по билету", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
con.Close();
dgridExamenQuestion.DataSource = myDs;
dgridExamenQuestion.DataMember = myDs.Tables["ExamenQuestion"].TableName;
for (int i = 0; i < myDs.Tables["ExamenQuestion"].Columns.Count; ++i)
{
dgridExamenQuestion.Columns[i].HeaderText = myDs.Tables["ExamenQuestion"].Columns[i].Caption.ToString();
dgridExamenQuestion.Columns[i].Name = myDs.Tables["ExamenQuestion"].Columns[i].ColumnName.ToString();
}
dgridExamenQuestion.Columns["id_ProtokolGEC_subocenka"].Visible = false;
}
пробовала поставить перед адаптером очистку.
myDs.Tables["ExamenQuestion"].Clear();
Но тогда при повторной загрузке сохраненных в датасет значений, происходит их очистка.
Буду очень благодарна за помощь:)