no debería ExecuteNonQuery devuelve un número entero que indica el número de filas afectadas. Si no se insertaron filas, se debe devolver 0. Debería arrojar una excepción cuando falla al ejecutar la consulta. Ej.:la conexión está cerrada, la tabla no existe, etc.