Citación del post de
Joseg
|
❞
Hola,
Como implementar un loop en PowerCobol?
Ejemplo de lista de todos los registros de "MyTable":
Creo que tienes que usar "sqlite3_prepare" y "sqlite3_step", o implementar una "devolución de llamada" (callback),
Código COBOL:
01 CALLBACK USAGE PROCEDURE-POINTER.
... pero no lo estoy consiguiendo.
Gracias,
Jose
|
A ver, yo con SQLLite, no lo sé, porque no lo he usado nunca pero, con SQL_Embebido o SQL normal, lo que se hace para hacer un bucle es, lo primero, crear un cursor y lo segundo es un FETCH a ese cursor, hasta que SQLSTATE, sea "02000", que indica un "fin_de_fichero", por lo que me supongo que en este caso, será muy parecido, es que otra manera de hacerlo, me parece rara
En PWC, con SQL_Embebido, sería algo así:
Código COBOL:
EXEC SQL
DECLARE cursor_consulta CURSOR FOR
SELECT * FROM CLIENTES
WHERE .....
ORDER BY .....
END-EXEC.
INITIALIZE SQLSTATE.
EXEC SQL
OPEN cursor_consulta
END-EXEC.
PERFORM WITH NO LIMIT
EXEC SQL
FETCH cursor_consulta
INTO .....
END-EXEC
IF SQLSTATE = "02000"
EXEC SQL
CLOSE cursor_consulta
END-EXEC
EXIT PERFORM
END-IF
END-PERFORM.
por lo menos, esa es la manera con la que yo hago un bucle. Lo puedes hacer con un
PREPARE también pero, es más lioso, y se usa si tienes que montar la consulta armando un
STRING, pero ese es otro tema.
Un salu2.-