Member 13025179 Ответов: 1

Пустая ссылка исключение ошибка


Я получаю ошибку исключения нулевой ссылки каждый раз, когда запускаю программу. как я могу это исправить? вот код:

Protected Sub ContactNoGrid_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ContactNoGrid.SelectedIndexChanged

 Me.txtContactNoID.Text = CType(ContactNoGrid.SelectedRow.FindControl("lblContactID"), Label).Text
Me.txtEditContact.Text = Convert.ToString(ContactNoGrid.SelectedRow.Cells(2).Text.Trim) 'CType(ContactNoGrid.SelectedRow.FindControl("lblContact"), Label).Text
Me.ddEditContactType.SelectedValue = Convert.ToString(ContactNoGrid.SelectedRow.Cells(1).Text.Trim)
Me.txtEditLocal.Text = IIf(Convert.ToString(ContactNoGrid.SelectedRow.Cells(3).Text.Trim) = " ", "", Convert.ToString(ContactNoGrid.SelectedRow.Cells(3).Text.Trim))
Me.btnDelContact.Visible = True  
 
''check if primary
Dim connStr As String = ConfigurationManager.ConnectionStrings("DBConn").ConnectionString
Dim sqlCon As New SqlConnection(connStr)
Dim sqlCmd As New SqlCommand("dbo.spCheckPrimaryContact", sqlCon)
Dim sqlDA As New SqlDataAdapter
Dim dt As New DataTable

sqlCmd.CommandType = Data.CommandType.StoredProcedure
sqlCmd.Parameters.AddWithValue("@iContactID", Me.txtContactNoID.Text)
sqlDA.SelectCommand = sqlCmd
sqlDA.Fill(dt)

If dt.Rows(0).Item("bPrimary") = True Then
Me.chkPrimaryContact.Checked = True
Else
Me.chkPrimaryContact.Checked = False
End If

ddlPrefix4.Enabled = True
ddlPrefix4.Visible = True
Dim sqlContactNo As New SqlCommand("dbo.spSeparateContactNumber", sqlCon)
Dim dt2 As New DataTable
sqlContactNo.CommandType = Data.CommandType.StoredProcedure
sqlContactNo.Parameters.AddWithValue("@iContactID", Me.txtContactNoID.Text)
sqlDA.SelectCommand = sqlContactNo
sqlDA.Fill(dt2)
Dim test As String = dt2.Rows(0).Item(0)
ddlPrefix4.Items.FindByText(test).Selected = True
txtEditContact.Text = dt2.Rows(0).Item(1)
End Sub


Я получаю его в "ddlPrefix4.Предметы.FindByText (тест).Selected = True " строка

Что я уже пробовал:

Я пытался найти нуль, но у меня его нет

[no name]

"Я пытался найти нуль, но у меня его нет", да, это так, иначе вы не получили бы ошибку.

Bryian Tan

Как вы его отладили?

1 Ответов

Рейтинг:
0

Bryian Tan

В любом случае, не бойтесь использовать отладчик VS. Поставьте точку разрыва рядом с рассматриваемой линией. Существует вероятность того, что в приложении нет null, но FindByText(test) может возвращать null (значение поиска отсутствует в списке) и .selected выдувает его.

Вот список видео от Google о том, как использовать отладчик

Видео Отладчика[^]

Вот ссылки на статью о том, как использовать отладчик VS.
Отладка в Visual Basic .NET[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]