private void button3_Click(object sender, EventArgs e)
{
{
//Удаление данных в dataGridView и в базе данной
// int a = dataGridView1.CurrentRow.Index;
// dataGridView1.Rows.Remove(dataGridView1.Rows[a]);
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30");
SqlCommand com = new SqlCommand("DELETE FROM school_graduate WHERE id=@id", con);
if (dataGridView1[1, dataGridView1.CurrentRow.Index].Value == null)
{
return;
}
int id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
com.Parameters.AddWithValue("@id", id);
con.Open(); //Открываем подключение
try
{
com.ExecuteNonQuery();
MessageBox.Show("Запись удалена");
}
catch
{
MessageBox.Show("Удалить не удалось!");
}
Bind();
con.Close();
}
Записи удаляются если они существуют в dataGridView1 , если записей уже нет и нажать на кнопку удалить то выходит ошибка.
Подскажите что я делаю не так.
row, она имеет значениеnull, и если вы обратитесь к полям или свойствам этой переменнойrow.Indexилиrow.Value, вы получитеNullReferenceException. – aepot Mar 23 '21 at 07:43if (dataGridView1.CurrentRow == null) return;– aepot Mar 23 '21 at 07:46if (dataGridView1.Rows.Count == 0) { MessageBox.Show("В базе данных не существует записей"); return; }– vasya vasyater Mar 23 '21 at 08:03