Как исправить эту ошибку: необработанное исключение типа «System.NullReferenceException» произошло в DotTeach.exe - PullRequest
0 голосов
/ 25 февраля 2011

Дополнительная информация: ссылка на объект не установлена ​​для экземпляра объекта.

У меня есть этот код

DotTeachDataSet ds;
DotTeachDataSetTableAdapters.QuestionsTableAdapter ta;

private void button1_Click(object sender, RoutedEventArgs e)
{                                         
    ta.CreateQuestion(discussionQuestion.Text, webPage.Text, choiceA.Text, choiceB.Text, choiceC.Text, choiceD.Text, hint.Text, rightAnswerCbox.Uid);
    ta.Fill(ds.Questions);
}

Это я использую, чтобы попытаться получить значения из текстовых полей в xaml и отправить их в базу данных, но я получаю сообщение об ошибке:

Необработанное исключение типа 'System.NullReferenceException' произошло в DotTeach.exe

Дополнительная информация: Объект ссылка не установлена ​​на экземпляр объект.

и визуальная студия подчеркивает линию

ta.CreateQuestion(discussionQuestion.Text, webPage.Text, choiceA.Text, choiceB.Text, choiceC.Text, choiceD.Text, hint.Text, rightAnswerCbox.Uid);

У кого-нибудь есть идеи, что я могу попробовать?

Я избавился от сообщения об ошибке, но он все еще не выполняет то, что мне нужно. Я пытаюсь получить его, чтобы добавить данные в базу данных при нажатии кнопки. Вот функция, которую я использую, которая не работает

private void button1_Click(object sender, RoutedEventArgs e)
    {
        DotTeach.DotTeachDataSet dotTeachDataSet = ((DotTeach.DotTeachDataSet)(this.FindResource("dotTeachDataSet")));
        DotTeach.DotTeachDataSetTableAdapters.QuestionsTableAdapter dotTeachDataSetQuestionsTableAdapter = new DotTeach.DotTeachDataSetTableAdapters.QuestionsTableAdapter();


        //ADD THE QUESTION TO THE DATA BASE
        dotTeachDataSetQuestionsTableAdapter.CreateQuestion(discussionQuestion.Text, webPage.Text, choiceA.Text, choiceB.Text, choiceC.Text, choiceD.Text, hint.Text, rightAnswer.Text);
    }

Я даже не уверен, что еще попробовать.

Ответы [ 2 ]

7 голосов
/ 25 февраля 2011

Ну, чтобы получить NullReferenceException, , один из следующего равен нулю:

  • ta
  • обсуждениеВопрос
  • webPage
  • выбор A
  • выбор B
  • выбор C
  • выбор D
  • подсказка
  • rightAnswerCbox

Моя догадка будет ta, но вы сможете это выяснить либо с помощью регистрации, либо с помощью отладчика.Что означает присвоение ненулевого значения ta?

Это всегда не удается (в этом случае это будет легко диагностировать) или только иногда?

1 голос
/ 25 февраля 2011

Когда VS выделяет строку в отладке, почему бы не попробовать навести указатель мыши на каждый из элементов, упомянутых Джоном, и посмотреть, что говорит отладочная информация. Определить, какие элементы являются нулевыми, а затем выяснить, почему этоnull. (Должна быть причина!)

...