2013-05-12 2 views
0

процесса, как следоватьпредотвратить повторяющиеся записи существа войти в DataGridView

Внесение записи из полого ввода в DataGridView, а затем в базу данных

при вводе данных в текстовое поле и огнестойкость щелчок событие Введите данные в кнопку DataGridView

Ограничение проверки заключается в том, что ID вводится. Уже существует или нет ..? код для этого является

For i = 0 To DataGridView1.Rows.Count - 1 
     If txt_id.Text = DataGridView1.Rows(i).Cells("id").Value.ToString Then 
      MessageBox.Show("record already exist") 
     End If 
    Next 

стыкового это сгенерирует исключение NullReferenceException

почему, когда в первый раз он проверяет, нет никаких записей в строке (I) .cells ("ID")

Как решить эту проблему .....?

+0

DataGridView1.AllowUserToAddRows = ложь Есть ли другой механизм –

+0

вы пытаетесь прочитать данные в 'RowsAdded' событие, как описано здесь ли: HTTP: // MSDN. microsoft.com/en-us/library/system.windows.forms.datagridview.rowsadded.aspx – Saravanan

+0

это событие Происходит после добавления новой строки в DataGridView. Мы проверяем ограничения между тем, когда данные, поступающие из текстовых полей (здесь проверяют ограничение) datagridview, потому что мы проверяем все остальные ограничения, чтобы мы были связаны там. –

ответ

0

Попробуйте это ..

If Datagridview1.rows.count > 0 then 
    For i = 0 To DataGridView1.Rows.Count - 1 
     If txt_id.Text = DataGridView1.Rows(i).Cells("id").Value.ToString Then 
      MessageBox.Show("record already exist") 
     End If 
    Next 
End if 
+0

его также выбрано исключение nullreferenceexception единственным решением, которое я нахожу, является DataGridView1.AllowUserToAddRows = false –

+0

Потому что ваш вопрос есть .. ** почему, когда в первый раз он проверяет, что нет записи ** .. и у вас есть обычная проверка. – matzone

+0

Я имею в виду, что я проверяю ограничение до того, как данные перейдут в datagridview –

Смежные вопросы