Citación del post de
Dasije
|
❞
Working:
Código COBOL:
01 CONTROL-ADO-3A OBJECT REFERENCE POW-COBJECT.
Procedure:
Código COBOL:
MOVE SPACES TO CONEXION-ADO STRING "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" WST-ARCHIVO-MBD(1:WST-TAMANO-VARIABLE) ";Mode=ReadWrite;Persist Security Info=False" DELIMITED BY SIZE INTO CONEXION-ADO MOVE CONEXION-ADO TO "ConnectionString" OF ADO-HYDRA-CABECERA MOVE SPACES TO SQL-CONDICION STRING "SELECT * FROM cabecera" " WHERE d_fecha BETWEEN FORMAT('" WST-FECAX-INICIO "', 'yyyy/mm/dd')" " AND FORMAT('" WST-FECAX-FINAL "', 'yyyy/mm/dd')" " ORDER BY d_fecha ASC" DELIMITED BY SIZE INTO SQL-CONDICION MOVE SQL-CONDICION TO "CommandText" OF ADO-HYDRA-CABECERA INVOKE ADO-HYDRA-CABECERA "SETREF-Recordset" USING CONTROL-ADO-3A IF "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = ZEROS MOVE "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-REGISTROS INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveFirst" PERFORM WITH NO LIMIT IF "EOF" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = POW-FALSE EXIT PERFORM END-IF MOVE "Value" OF "Item"(6) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-CAMPO-IMPORTES ........... MOVE WST-PRECIO-F TO "Value" OF "Item"(34) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA INVOKE "Recordset" OF ADO-HYDRA-CABECERA "Update" INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveNext" 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