Ver Mensaje Individual
  #7
Antiguo 4 de mayo de 2016, 10:52
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 21.09.2026 18:39
Posts Posts: 402
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Dasije Ver Mensaje
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.

Quando tento fazer MOVE XXXX TO "Value" OF "Item"(x) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA (claro, com dados meus)

Da erro

Pode, por favor, disponibilizar um exemplo com update e insert numa BD usando ADO?
Estou a necessitar muito usar esta forma de actualizar (query) uma BD.

Consigo Ler, mas estou com dificuldade em atualizar ou criar novos registos.

Gracias,
Jose
Joseg is offline   Responder Con Cita