Почему возникает ошибка NullReferenceException - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите кто сможет...Пишу под WindowsMobile, использую базу SQLite. Короче есть у меня метод в классе который возвращает 1 значение из запроса.
public string RetSQL(string SQLTEXT)
            {
                try
                {
                    if (conn.State == System.Data.ConnectionState.Closed)
                        conn.Open();
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = SQLTEXT;
                    
                    SqlDataReader reader = (SqlDataReader)cmd.ExecuteReader();
                   
                    conn.Close();
                    
                     return reader.GetString(0).;
                    
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка возвращения значения запроса: "+ex.Message);
                    conn.Close();
                    return null;
                }
            }
Все работает,но когда запрос возвращает пустые записи возникает ошибка: NullReferenceException. Вообще то я столкнулся с этим когда мне надо было перед удалением проверить наличие записей в дочерней таблице.Что то типа "Select count(*) from table2".. Вот с таким запросом уже вылетает ошибка...

Решение задачи: «Почему возникает ошибка NullReferenceException»

textual
Листинг программы
public string RetSQL(string SQLTEXT)
            {
                try
                {
                    if (conn.State == System.Data.ConnectionState.Closed)
                        conn.Open();
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = SQLTEXT;
                    
                    SqlDataReader reader = (SqlDataReader)cmd.ExecuteReader();
                    string s = null;
                    conn.Close();
                    while (reader.Read())
                    {
                        s=reader.GetString(0);
                    }
                    return s;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка возвращения значения запроса: "+ex.Message);
                    conn.Close();
                    return null;
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.667 из 5
Похожие ответы