for(int index = 0; index < dataGridView1.Rows.Count; index++) { var rowstate = (RowState)dataGridView1.Rows[index].Cells[8].Value;
if (rowstate == RowState.Existed) continue;
if (rowstate == RowState.Deleted) { var id = Convert.ToInt32(dataGridView1.Rows[index].Cells[0].Value); var deleteQuery = $"delete from iphones where id = {id}";
var command = new SqlCommand(deleteQuery, dataBase.getConnection()); command.ExecuteNonQuery(); } if (rowstate == RowState.Modified) { var id = dataGridView1.Rows[index].Cells[0].Value.ToString(); var type = dataGridView1.Rows[index].Cells[1].Value.ToString(); var count = dataGridView1.Rows[index].Cells[2].Value.ToString(); var postavka = dataGridView1.Rows[index].Cells[3].Value.ToString(); var price = dataGridView1.Rows[index].Cells[4].Value.ToString(); var identity_number = dataGridView1.Rows[index].Cells[5].Value.ToString(); var camera = dataGridView1.Rows[index].Cells[6].Value.ToString(); var screen_size = dataGridView1.Rows[index].Cells[7].Value.ToString(); var battery = dataGridView1.Rows[index].Cells[8].Value.ToString();
var changeQuery = $"update iphones set type_of = '{type}', count_of = '{count}', postavka = '{postavka}', price = '{price}', identity_number = '{identity_number}', camera = '{camera}', screen_size = '{screen_size}', battery = '{battery}' where id = '{id}'";
var command = new SqlCommand(changeQuery, dataBase.getConnection()); command.ExecuteNonQuery(); } } dataBase.closeConnection(); } Это код метода Update() который используется для кнопки сохранить при нажатии на которую сохраняются все удаления из базы, но при нажатии на кнопку вылазит ошибка и ссылается на эту строчку var rowstate = (RowState)dataGridView1.Rows[index].Cells[8].Value; - Ссылка на объект не указывает на экземпляр объекта.
{
dataBase.openConnection();
for(int index = 0; index < dataGridView1.Rows.Count; index++)
{
var rowstate = (RowState)dataGridView1.Rows[index].Cells[8].Value;
if (rowstate == RowState.Existed)
continue;
if (rowstate == RowState.Deleted)
{
var id = Convert.ToInt32(dataGridView1.Rows[index].Cells[0].Value);
var deleteQuery = $"delete from iphones where id = {id}";
var command = new SqlCommand(deleteQuery, dataBase.getConnection());
command.ExecuteNonQuery();
}
if (rowstate == RowState.Modified)
{
var id = dataGridView1.Rows[index].Cells[0].Value.ToString();
var type = dataGridView1.Rows[index].Cells[1].Value.ToString();
var count = dataGridView1.Rows[index].Cells[2].Value.ToString();
var postavka = dataGridView1.Rows[index].Cells[3].Value.ToString();
var price = dataGridView1.Rows[index].Cells[4].Value.ToString();
var identity_number = dataGridView1.Rows[index].Cells[5].Value.ToString();
var camera = dataGridView1.Rows[index].Cells[6].Value.ToString();
var screen_size = dataGridView1.Rows[index].Cells[7].Value.ToString();
var battery = dataGridView1.Rows[index].Cells[8].Value.ToString();
var changeQuery = $"update iphones set type_of = '{type}', count_of = '{count}', postavka = '{postavka}', price = '{price}', identity_number = '{identity_number}', camera = '{camera}', screen_size = '{screen_size}', battery = '{battery}' where id = '{id}'";
var command = new SqlCommand(changeQuery, dataBase.getConnection());
command.ExecuteNonQuery();
}
}
dataBase.closeConnection();
}
Это код метода Update() который используется для кнопки сохранить при нажатии на которую сохраняются все удаления из базы, но при нажатии на кнопку вылазит ошибка и ссылается на эту строчку var rowstate = (RowState)dataGridView1.Rows[index].Cells[8].Value; - Ссылка на объект не указывает на экземпляр объекта.