DBNull check for ExecuteScalar

c#, dbnull, sql

Solution

You probably want to change your if-statement to

if (obj != null && DBNull.Value != obj) { 
    ... 
}

Right now you're trying to convert if `obj == DBNull.Value`.

Problem

The stored procedure for command can return null.Is it correct way to check if the returned value is null or should I also check that obj is null? ``` object obj = command.ExecuteScalar(); int id = -1; if (DBNull.Value == obj) { id = Convert.ToInt32(obj ); } ```

Original source