Collection<T> and DbNull.Value
От: linker Россия  
Дата: 25.06.08 08:17
Оценка:
Есть коллекция
    public class EmployeeCollection:ICollection<Employee>
    {
        ......
    }

Заполняю её так
    public EmployeeCollection GetEmployee()
    {
        ..
        using(SqlConnection)
        {
            ..
            reader = command.ExecuteReader();
            while(reader.Read())
            {
                lstEmployee.Add(new Employee((int)reader["age"],
                                                                            (string)reader["name"],
                                                                            ......
                                                                            //еще какие-то свойства
                                                                            ))
            }
        }
        ..
    }

Проблема в том что из базы может прийти DBNull.Value, ну и соответсвенно вывалиться exception.Как правильно(красиво) обойти эту ситуацию?
Можно тупо конечно завести переменный и проверять там на DBNull,а потом в контруктор Employee пихать их.Может еще какие варианты есть?
... << RSDN@Home 1.2.0 alpha rev. 789>>
Re: Collection<T> and DbNull.Value
От: vitz  
Дата: 25.06.08 08:27
Оценка: 3 (1)
Здравствуйте, linker, Вы писали:

L>Проблема в том что из базы может прийти DBNull.Value, ну и соответсвенно вывалиться exception.Как правильно(красиво) обойти эту ситуацию?

L>Можно тупо конечно завести переменный и проверять там на DBNull,а потом в контруктор Employee пихать их.Может еще какие варианты есть?
reader.IsDBNull(reader.GetOrdinal("age"));
Re[2]: Collection<T> and DbNull.Value
От: linker Россия  
Дата: 25.06.08 08:48
Оценка:
Здравствуйте, vitz, Вы писали:

V>Здравствуйте, linker, Вы писали:


L>>Проблема в том что из базы может прийти DBNull.Value, ну и соответсвенно вывалиться exception.Как правильно(красиво) обойти эту ситуацию?

L>>Можно тупо конечно завести переменный и проверять там на DBNull,а потом в контруктор Employee пихать их.Может еще какие варианты есть?
V>reader.IsDBNull(reader.GetOrdinal("age"));
Спасибо
вот еще нащел статейку
http://www.codeproject.com/KB/database/SmartReader.aspx
... << RSDN@Home 1.2.0 alpha rev. 789>>
Re: Collection<T> and DbNull.Value
От: Аноним  
Дата: 25.06.08 08:51
Оценка:
Здравствуйте, linker, Вы писали:

L>Есть коллекция

L>
L>    public class EmployeeCollection:ICollection<Employee>
L>    {
L>        ......
L>    }
L>

L>Заполняю её так
L>
L>    public EmployeeCollection GetEmployee()
L>    {
L>        ..
L>        using(SqlConnection)
L>        {
L>            ..
L>            reader = command.ExecuteReader();
L>            while(reader.Read())
L>            {
L>                lstEmployee.Add(new Employee((int)reader["age"],
L>                                                                            (string)reader["name"],
L>                                                                            ......
L>                                                                            //еще какие-то свойства
L>                                                                            ))
L>            }
L>        }
L>        ..
L>    }
L>

L>Проблема в том что из базы может прийти DBNull.Value, ну и соответсвенно вывалиться exception.Как правильно(красиво) обойти эту ситуацию?
L>Можно тупо конечно завести переменный и проверять там на DBNull,а потом в контруктор Employee пихать их.Может еще какие варианты есть?


reader.IsDBNull(reader.GetOrdinal("name")) ? String.Empty : (string)reader["name"]


оно ?
Re[3]: Collection<T> and DbNull.Value
От: Блудов Павел Россия  
Дата: 26.06.08 02:34
Оценка:
Здравствуйте, linker, Вы писали:
L>вот еще нащел статейку
L>http://www.codeproject.com/KB/database/SmartReader.aspx
Тогда уж
http://www.codeproject.com/KB/database/EasyDAL.aspx
... << RSDN@Home 1.2.0 alpha 4 rev. 1090>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.