Ver Mensaje Individual
  #9
Antiguo 12 de mayo de 2023, 18:39
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 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de fastpho Ver Mensaje
Hola @Joseg

Para poder realizar un "select" yo no lo pude hacer por "CALLBACK"
trabajo con la version 5.0 de PowerCobol y no acepta PROCEDURE-POINTER
Entonces para resolverlo hago :

sqlite3_open_v2
sqlite3_prepare_v2

sqlite3_step aca hay que meter el loop si
Código:
SQLITE_ROW
o
Código:
SQLITE_DONE
sqlite3_finalize
sqlite3_close_v2
Saludos...
Muchas gracias

Pero, sigue sin funcionar

Código COBOL:
  1.  working-storage.
  2.  01  num-bytes                      pic s9(09) COMP-5  IS GLOBAL.
  3.  01  num-columns                    pic s9(09) COMP-5  IS GLOBAL.
  4.  01  pStmt                          usage pointer      IS GLOBAL.
  5.  01  zTail                          pic s9(09) COMP-5  IS GLOBAL.
  6.  
  7.  procedure division.
  8.  
  9.      MOVE "chinook.db"  & X"00"  TO BD-FILE-NAME.
  10.      
  11.      call "sqlite3_open_v2"  & X"00"  WITH  STDCALL  LINKAGE
  12.               USING BY REFERENCE BD-FILE-NAME
  13.                     BY REFERENCE BD-HANDLE
  14.                     BY VALUE 2  *> SQLITE_OPEN_READWRITE
  15.                     BY VALUE 0
  16.              returning  BD-STATUS
  17.  
  18.      end-call.
  19.  
  20.      string "SELECT * from artists WHERE name='Body Count' " delimited by size  
  21.             X"00" delimited by size
  22.             into BD-SQL-QUERY
  23.             WITH POINTER num-bytes.
  24.  
  25.      move zero to zTail
  26.        
  27.      call  "sqlite3_prepare_v2"  & X"00" WITH  STDCALL  LINKAGE
  28.               USING
  29.                     BY VALUE     BD-HANDLE
  30.                     BY CONTENT   BD-SQL-QUERY
  31.                     BY VALUE     num-bytes
  32.                     by reference pStmt
  33.                     by VALUE     zTail
  34.              returning  BD-STATUS
  35.  
  36.      end-call.    
  37.  
  38. *loop
  39.      call "sqlite3_step"  & X"00" WITH  STDCALL  LINKAGE
  40.            using
  41.                by reference pStmt
  42.            returning BD-STATUS
  43.      end-call.
  44.  
  45.     evaluate ESTADOS-BD
  46.        when SQLITE-ROW
  47.            display "SQLITE-ROW"
  48.        when SQLITE-DONE
  49.            display "SQLITE-DONE"
  50.     end-evaluate

¿Qué tiene de malo esta parte del código?
call "sqlite3_step" da el error
SQLITE_MISUSE = 21. *> Library used incorrectly

Powercobol v9
Gracias,
José
Joseg is offline   Responder Con Cita