Would it make more sense if this check wasn't here? rows.Next() would return true, then when you actually attempt to .Scan() the value out, it's like "hold on there, that's a null"