Есть коллекция
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>>
Здравствуйте, 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>>
Здравствуйте, 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"]
оно ?
Здравствуйте, 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>>