La Web del Programador: Comunidad de Programadores
 
    Pregunta:  27328 - INCOMPATIBILIDAD ENTRE ADODC (VB6) Y BD EN INFORMIX
Autor:  Carla de La Roche
Para que el componente ADODC se conectara con la base de datos en Informix y me permitiera agregar, eliminar y actualizar registros, cambie la propiedad CursorLocation = adUseServer, CursorType = adOpenDynamic, LockType = adLockOptimistic
Pero ahora me encuentro con que el componente una vez cambiada la propiedad solo me permite ir hacia adelante, es decir:
1.- Si intento retroceder el error que genera es: "La operación no esta permitida en este contexto".
2.- Una vez posicionada en el ultimo registro y quiero avanzar al siguiente , que seria el primero del archivo, me dice: "El conjunto de filas no admite recuperación hacia atras".
Otra cosa que note es que el numero de registro no se actualiza, siempre tiene Record: -1
Si le cambio la propiedad CursorLocation = adUseClient, CursorType = adOpenDynamic, LockType = adLockOptimistic o adLockBatchOptimistic, una vez que intento agregar, eliminar o actualizar un registro, el error que se genera es Error: " #-2147467259 fue generado por Microsoft Engine. El proveedor de datos u otro servicio devolvio un estado E_FAIL". Este error me indica 'Insuficiente información básica para actualizar o refrescar la tabla'.

Por favor díganme que puedo hacer para poder actualizar la base de datos en Informix y al mismo tiempo poder retroceder y avanzar en los registros.

  Respuesta:  Jean Louis Torrado
Lo primero que debe hacer es verificar que la conexion del PC a la base de datos este correcta. Si ya instaló el Informix-Cli, puede configurar la conexion en el SetNet32. y luego probar con ILogin que haya conexion a la base de datos. Luego debe crear el ODBC. EN visual basic, selecciona un ADODC , en propiedades selecciona la ODBC que creó y en RecordSource escribe la instrucción Select

Luego a acada campo , en DataSource selecciona el ADODC que creó y en DataField selecciona el campo que quiere ver . El ADODC le permite moverse entre la tabla sin problema.
Asi, lo trabajo y me funciona bien.