Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/30: Рейтинг темы: голосов - 30, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 5
1

Проверка значения на null в БД

07.11.2012, 14:40. Показов 5828. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. С помощью ODBC обращаюсь к СУБД MySQL.
C#
1
2
3
4
5
6
7
8
9
10
11
            OdbcCom = new System.Data.Odbc.OdbcCommand("SELECT * FROM users WHERE user_login='" + textBox1.Text + "' and user_pass='" + textBox2.Text + "'", OdbcCon);
                OdbcDR = OdbcCom.ExecuteReader();
                for (int ordinal = 0; ordinal < OdbcDR.FieldCount; ordinal++)
                    txtLog.AppendText(">> " + OdbcDR.GetName(ordinal) + " \r\n");
                while (OdbcDR.Read())
                {
                    for (int ordinal = 0; ordinal < OdbcDR.FieldCount; ordinal++)
                    {
                        textBox3.AppendText(OdbcDR.GetString(ordinal) + " ");
                    }
                }
В таблице users 10 полей и кроме информации о логине и пароле есть поля, которые содержат null.
Когда прога находит такие поля, то выскакивает ошибка "unable to cast object of type 'system.dbnull' to type 'system.string'"

Подскажите, пожалуйста, можно ли решить как-то этот вопрос. Может, какую-то проверку на null можно сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2012, 14:40
Ответы с готовыми решениями:

Проверка значения на Null подчиненной формы в виде таблицы
Всем привет. Голову ломал два дня, и все-же решил обратиться снова на форум. Раньше у меня работал...

Что быстрее, проверка на null, или проверка на тип перечисления в запросе?
вопрос такой. если несколько таблиц. сходных по структуре в запросе. в первой таблице ...

Проверка на null
Привет всем. Пишу метод в ктором вызываю ещё методов 5, все они могут вернуть null, надоело везде...

Проверка на null
name == null, но не равно null!? Как такое может быть? p.s. со строгим равенством (===) то же самое

5
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
07.11.2012, 14:43 2
У DataReader'а есть метод IsDbNull
0
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 5
07.11.2012, 15:56  [ТС] 3
Цитата Сообщение от turbanoff Посмотреть сообщение
У DataReader'а есть метод IsDbNull
Вставил строку с условием:
C#
1
2
3
4
5
for (int ordinal = 0; ordinal < OdbcDR.FieldCount; ordinal++)
                    {
                        if (!OdbcDR.IsDBNull(ordinal))
                         textBox3.AppendText(OdbcDR.GetString(ordinal) + " ");
                    }
Иду пошагово и в строке textBox3.AppendText(OdbcDR.GetString(ordinal) + " "); вылетает ошибка Unable to cast object of type 'System Int64' to type 'System.String'.
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
07.11.2012, 16:17 4
Значит вам возвращается не строка а целое число, и поэтому GetString не может прочитать.
Попробуйте так:
C#
1
2
3
4
5
if (!OdbcDR.IsDBNull(ordinal)) {
   textBox3.AppendText(Convert.ToString(OdbcDR.GetValue(ordinal)) + " ");
} else {
   textBox3.AppendText("[null] ");
}
1
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 5
07.11.2012, 16:25  [ТС] 5
Заработало Спасибо большое!
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
07.11.2012, 16:29 6
Цитата Сообщение от serb1897 Посмотреть сообщение
Unable to cast object of type 'System Int64' to type 'System.String'.
C#
1
2
if (!OdbcDR.IsDBNull(ordinal))
  textBox3.AppendText(OdbcDR.GetInt64(ordinal) + " ");
0
07.11.2012, 16:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2012, 16:29
Помогаю со студенческими работами здесь

Проверка на null
Как правильно создать условие. У меня есть строчки кода, которые в переменную apiTokenMy...

Проверка в VBA на NULL
Добрый день. Проблема такая в макросе VBA есть такая строка: ME.ОС_внеш.Caption = ос_внеш...

Проверка на 0 или NULL
Читаю SQL для простых смертный. В конце каждого параграфа небольшие задачки, одна из них звучит...

Проверка объекта на null
День добрый. Вылетает NullReferenceException в операторе Tool1 != null, хотя объект...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru