Apenas para complementar que, os bancos de dados tem uma forma explícita para definir a "ausência de valor", que é o NULL.
Ou seja, uma coluna do tipo INTEGER no banco, pode estar "sem valor" (NULL) ou pode estar "com o valor zero" (0, zero). São situações diferentes.
Da mesma forma, um campo DATETIME no banco, pode estar "sem valor" (NULL) e também pode estar com a data 01/01/1753, que será um valor válido. Assim como o valor 01/01/0001 também é válido, porém não é gravável através do Ado.Net.