Ver Mensaje Individual
  #6
Antiguo 14 de noviembre de 2015, 13:15
Dasije
Forero Senior
Última Actividad 06.03.2022 17:04
Posts Posts: 173
Likes enviados Enviados: 1
Likes recibidos Recibidos: 79

Working:

Código COBOL:
  1. 01 CONTROL-ADO-3A OBJECT REFERENCE POW-COBJECT.

Procedure:

Código COBOL:
  1. MOVE SPACES TO CONEXION-ADO
  2. STRING "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
  3.            WST-ARCHIVO-MBD(1:WST-TAMANO-VARIABLE)
  4.            ";Mode=ReadWrite;Persist Security Info=False"
  5.            DELIMITED BY SIZE INTO CONEXION-ADO
  6. MOVE CONEXION-ADO TO "ConnectionString" OF ADO-HYDRA-CABECERA
  7. MOVE SPACES TO SQL-CONDICION
  8. STRING "SELECT * FROM cabecera"
  9.            " WHERE d_fecha BETWEEN FORMAT('" WST-FECAX-INICIO "', 'yyyy/mm/dd')"
  10.            " AND FORMAT('" WST-FECAX-FINAL "', 'yyyy/mm/dd')"
  11.            " ORDER BY d_fecha ASC"
  12.            DELIMITED BY SIZE INTO SQL-CONDICION
  13. MOVE SQL-CONDICION TO "CommandText" OF ADO-HYDRA-CABECERA
  14. INVOKE ADO-HYDRA-CABECERA "SETREF-Recordset" USING CONTROL-ADO-3A
  15. IF "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = ZEROS
  16.     MOVE "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-REGISTROS
  17.     INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveFirst"
  18.     PERFORM WITH NO LIMIT
  19.                  IF "EOF" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = POW-FALSE
  20.                      EXIT PERFORM
  21.                  END-IF
  22.                  MOVE "Value" OF "Item"(6) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-CAMPO-IMPORTES
  23.  
  24.                  ...........
  25.  
  26.                  MOVE WST-PRECIO-F TO "Value" OF "Item"(34) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA
  27.                  INVOKE "Recordset" OF ADO-HYDRA-CABECERA "Update"
  28.                  INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveNext"
  29.     END-PERFORM.

El número de item partenece al número de columna que corresponde en el orden de la consulta empezando desde el 0 que sería la primera.

En SQL Server, se puede poner el nombre del campo entre comillas, así dejas de usar el número de item.

http://www.connectionstrings.com

Aquí puedes mirar los strings de conexión disponibles de todos los motores de base de datos.

Saludos.
Dasije is offline   Responder Con Cita