Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C# Windows Forms Ссылка на объект не указывает на экземпляр объекта.

Ivan Lis Знаток (301), на голосовании 7 месяцев назад
private void Update()
{
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; - Ссылка на объект не указывает на экземпляр объекта.
Голосование за лучший ответ
Александр Рогачёв Знаток (479) 8 месяцев назад
Ну очевидно, что где-то не создан объект. Поставь точку останова на этой строке и посмотри всё ли там существует, что ты пытаешься использовать
Ivan LisЗнаток (301) 8 месяцев назад
как сделать точку останова, первый раз о таком слышу, если не сложно смогли бы объяснить
Jurijus Zaksas Искусственный Интеллект (445813) 8 месяцев назад
Ну, где-то во всей этой цепочке какой-то объект не существует, бывает.
Ставь брякпойнт и дебажь, удачи.
Похожие вопросы