| Anterior | Siguiente |
| DB_E_BADSTORAGEFLAG | DB_E_BADSTATUSVALUE |
DB_E_BADCOMPAREOP
Qué significa DB_E_BADCOMPAREOP
DB_E_BADCOMPAREOP corresponde al HRESULT 0x80040E27. La descripción de Windows/OLE DB es: «El operador de comparación no es válido.».
El provider está informando de una condición concreta de precondiciones del método OLE DB y validez del identificador, flag u objeto entregado por el consumidor: la condición documentada es «El operador de comparación no es válido.»; verifica qué argumento, objeto o output de esa llamada hace que sea cierta.
Qué comprobar
- Prueba directamente esta hipótesis: la condición documentada es «El operador de comparación no es válido.»; verifica qué argumento, objeto o output de esa llamada hace que sea cierta.
Comprobación específica del operador
Este HRESULT apunta al operador de comparación, no al valor buscado. En IRowsetFind::FindNextRow o una vista filtrada conserva el DBCOMPAREOP asociado a cada criterio y comprueba que el valor pertenece a la enumeración y que el provider lo admite para ese tipo de columna. Operadores de orden, igualdad y comparación de cadenas no tienen por qué ser intercambiables.
Un caso típico es construir la lista de operadores como bitmask y pasarla donde la API espera un único valor. Valida cada operador antes de componer el filtro y mantén criterio, binding y operador derivados de la misma metadata.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
