Sinisa Janjetovic Ответов: 1

Считывание нулевых значений из таблицы SQL с помощью sqldatareader


У меня есть таблица SQL, и в некоторых строках у меня есть нулевые значения для некоторых столбцов. SQLDataReader ломается, когда речь заходит о первой строке с некоторыми нулевыми значениями. Столбцы с нулевыми значениями имеют строковый и поплавковый типы
Как решить этот вопрос?

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

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

Maciej Los

Что вы имеете в виду, говоря: "SQLDataReader ломается..."?

1 Ответов

Рейтинг:
11

OriginalGriff

Мы не видим вашего кода и понятия не имеем, что на самом деле означает "SQLDataReader ломается, когда речь заходит о первой строке с некоторыми нулевыми значениями" в реальном мире.

Но... наиболее вероятная причина проблем заключается в том, что вы не проверяете нулевые возвраты и просто слепо переводите значения в строку или что-то еще. Это не сработает: нулевые значения необходимы во внешних ключах, или становится очень трудно вставлять строки в первую очередь - поэтому вы должны разрешить их в своем коде, явно проверив наличие DBNull.Значение при обработке значений DataReader:

object o = myDateReader["MyColumn"]
if (o == DBNull.Value)
   {
   myString = "";
   }
else
   {
   myString = (string) o;
   }


Sinisa Janjetovic

Спасибо, я решил эту проблему, следуя вашему предложению

OriginalGriff

Всегда пожалуйста!