2012-05-18 5 views
0

У меня есть проект здесь, в моем ojt. Форма vb2010. Я получаю эту ошибку: «NullReferenceExeption был необработанным». Почему я его получаю? im надеясь на чью-либо помощь. Спасибо.«NullReferenceExeption был необработанным»

это мой код;

Private Sub RefreshData() 
    If Not con.State = ConnectionState.Open Then 

     con.Open() 
    End If 

    Dim da As New OleDb.OleDbDataAdapter("SELECT ID as [ID], " & _ 
             "fname as [NAME], lname" & _ 
             "FROM asdf ORDER by ID", con) 

    da.Fill(ds.Tables("asdf"))**** this part is where i get the error***** 
    con.Close() 
End Sub 
+0

Скорее всего, 'ds' не инстанцирован к тому времени, вы пытаетесь получить доступ к его' коллекции Tables'. Где 'ds' даже объявляется? –

+0

Можете ли вы дать некоторый намек на то, как исправить эту проблему? im только новичок в vb. и это мой первый проект. –

ответ

1

Ошибка говорит, что это значит,

Поместите пустой чек

if(ds != null && ds.Tables("asdf") != null) then 
.... ' put da.Fill here 
end if 
0

«NullReferenceExeption был Неизвестное» ошибка указывает на то, что вы пытаетесь использовать нулевой объект в коде. Сделайте null check как: -

if(con != null) then 
     'your code... 
end if 


if(ds != null && ds.Tables("asdf") != null) then 
    'your code... 
end if 
+0

Я пробовал ваши коды, но я знаю, что «Идентификатор ожидается» на знаке «=». –

+0

Я использовал его, но я получаю ожидаемое выражение «", ожидаемое "" на знаке "&&". да, я использую vb2010. Я просто новичок в vb. это только мое первое приложение. –

+0

просто напишите 'And' вместо' &&' оператора. В приведенном выше ответе отображается только логика, а не синтаксис. Для и VB использует 'And'. – Jaguar

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