In a database an integer column can be null. In .NET integers are native value types and can not be null. You should not be able to assign null to a integer variable. A new integer defaults to 0 (i'm pretty sure). If you want to assign null to a value to be saved to the database, try assigning DBNull.