2013-08-13 2 views
-4

Очень странно при чтении значений базы данных я проверка, является ли столбец DBNull или нет, но при его проверке я получаю DBNull исключения,Получение DBNull исключения

if(!DBNull.Value.Equals(DataBaseTableRow.ColumnName)) 
       myString = DataBaseTableRow.ColumnName;    

Ошибка:

he value for column 'ColumnName' in table 'Table' is DBNull. ---> Unable to cast object of type 'System.DBNull' to type 'System.String'.

+0

Взятые из http://stackoverflow.com/questions/2017533/best-way-to-check-if-column-returns-a-null-value-from-database-to-net-applicat – Mathematics

+1

Дело в том, что вы уверены, что ошибка произошла в этой части кода? И есть ли «DataVase» больше, чем опечатка для копирования-вставки? ;-) – jbl

+0

Это не имеет никакого отношения к SQL Server. – leppie

ответ

0

Я констатировала путем поиска метода, предоставляемого набором данных, DataBaseTableRow.IsColumnNameNull(); тогда как ColumnName является исходным именем столбца, оно доступно только для столбцов, которые не имеют нулевой базы данных.

if(!DataBaseTableRow.ISColumnNameNull()) 
       myString = DataBaseTableRow.ColumnName; 
+1

Итак, вы работали с типизированным набором данных. У вас был бы ответ быстрее, если бы вы заявили об этом в своем вопросе. – Heslacher

+0

@Heslacher DataBaseTableRow.ColumnName работает только с типизированным набором данных, у меня было достаточно негативных комментариев сегодня, пожалуйста, отпустите меня сейчас, спасибо – Mathematics

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