01 BD-HANDLE PIC 9(9) COMP-5 IS GLOBAL. *>Handle de la BD
01 BD-FILE-NAME PIC X(50) IS GLOBAL. *>Nombre de la BD
01 BD-SQL-QUERY PIC X(256) IS GLOBAL. *>string sql (Create , Insert , Delete , Update , Select)
01 BD-SQL-STRING-LENGHT PIC S9(9) COMP-5 IS GLOBAL.
01 BD-HANDLE-STMT PIC 9(9) COMP-5 IS GLOBAL. *>Puntero Statement
01 BD-STMT-PTR REDEFINES BD-HANDLE-STMT POINTER IS GLOBAL. *>Redefines del Puntero Statement
01 BD-INT-POINTER POINTER IS GLOBAL.
01 BD-INT PIC 9(9) COMP-5 IS GLOBAL. *> INTEGER
01 BD-DOB PIC 9(9) COMP-5 IS GLOBAL. *> DOUBLE
01 BD-TEXT-POINTER POINTER IS GLOBAL.
01 BD-TEXT PIC X(256) IS GLOBAL. *> TEXT
01 BD-SQL-ERROR POINTER IS GLOBAL.
01 BD-FILA-ID PIC 9(9) COMP-5 IS GLOBAL.
01 BD-COLUMNA-CANTIDAD PIC 9(9) COMP-5 IS GLOBAL.
01 BD-COLUMNA-NUMERO PIC 9(9) COMP-5 IS GLOBAL.
01 BD-COLUMNA-NOMBRE PIC X(256) IS GLOBAL.
01 BD-COLUMNA-POINTER POINTER IS GLOBAL.
* Estado de la Base de Datos
01 BD-STATUS PIC 9(9) COMP-5 IS GLOBAL.
*>Estado de la BD
01 ESTADOS-BD IS GLOBAL.
03 SQLITE_OK PIC 9(9) COMP-5 VALUE 0. *> /* Successful result */
03 SQLITE_ERROR PIC 9(9) COMP-5 VALUE 1. *> /* Generic error */
03 SQLITE_BUSY PIC 9(9) COMP-5 VALUE 5. *> /* The database file is locked */
03 SQLITE_LOCKED PIC 9(9) COMP-5 VALUE 6. *> /* A table in the database is locked */
03 SQLITE_READONLY PIC 9(9) COMP-5 VALUE 8. *> /* Attempt to write a readonly database */
03 SQLITE_EMPTY PIC 9(9) COMP-5 VALUE 16. *> /* Attempt to write a readonly database */
03 SQLITE_MISUSE PIC 9(9) COMP-5 VALUE 21. *> /* Library used incorrectly */
03 SQLITE_WARNING PIC 9(9) COMP-5 VALUE 28. *> /* unusual and possibly ill-advised operation is taking place.*/
03 SQLITE-ROW PIC 9(9) COMP-5 VALUE 100. *> /* sqlite3_step() has another row ready */
03 SQLITE-DONE PIC 9(9) COMP-5 VALUE 101. *> /* sqlite3_step() has finished executing */
* Tipos de Datos sqlite
01 BD-COLUMNA-TIPO PIC 9(4) COMP-5 IS GLOBAL.
88 SQL-INTEGER VALUE 1. *>
88 SQL-REAL VALUE 2. *>
88 SQL-TEXT VALUE 3. *>
88 SQL-BLOB VALUE 4. *>
88 SQL-NULL VALUE 5. *>
01 FECHA-CONVERTIR PIC 9(8) IS GLOBAL. *> AAAAMMDD a Convertir
01 FECHA-CONVERTIDA-UNIX PIC 9(13) IS GLOBAL. *> Fecha con formato unix
01 FECHA-UNIX1970 PIC S9(9) COMP-5 IS GLOBAL. *> desde AAAAMMDDD 19700101
01 FECHA-INT PIC S9(9) COMP-5 IS GLOBAL.
01 FECHA-AMD PIC 9(8) IS GLOBAL.
01 FECHA-AMD-ED PIC XXXX/XX/XX IS GLOBAL.
01 NULO PIC 9(9) COMP-5 VALUE 0 IS GLOBAL. *> NULO
*>[url]https://sqlite.org/cintro.html[/url]
*>Funciones de la libreria sqlit3.dll
*>[url]https://sqlite.org/c3ref/funclist.html[/url]
*>Funciones Declaradas en el archivo COBOL85.CBR
*>Fecha 17-04-2023
01 FUNCIONES-SQLITE3-LIB PIC X(50) IS GLOBAL.
*> sqlite3-connection functions
*> sqlite3_libversion (OUT <text>) *> Devuelve la versión de sqlite a través del parámetro OUT. OK probado
*> sqlite3_libversion_number (OUT <int> ) *> Devuelve el número de versión como un int OK probado
*> sqlite3_open (<nombre de archivo>, OUT <controlador de la base de datos>). *> Esto abre un archivo de base de datos SQLite , nueva o existente como se especifica en el argumento de nombre de archivo.OK probado
*> sqlite3_close (<db-handle>)(<identificador de la base de datos>) *> Destructor de la interface , cierra la BD OK probado
*> sqlite3_exec (<gestor-bd>,<cadena-sql>) *> Es una envoltura sqlite3_prepare_v2(), sqlite3_step() y sqlite3_finalize() OK probado
*> sqlite3_errmsg (<db-handle>, OUT <mensaje de error) *> Devuelve texto en inglés como un parámetro OUT que describe el último error en la conexión. OK probado
*> sqlit3-statement functions
*> sqlite3_prepare_v2 *>Constructor OK probado
*> sqlite3_finalize *>Destructor OK probado
*> Pass
*> sqlite3_step int sqlite3_step(sqlite3_stmt*); OK probado
*> sqlite3_reset int sqlite3_reset(sqlite3_stmt *pStmt); OK probado
*> sqlite3_finalize int sqlite3_finalize(sqlite3_stmt *pStmt); OK probado
*> Statement column access (0-base indices)
*> sqlite3_column_count int sqlite3_column_count(sqlite3_stmt *pStmt); OK probado
*> sqlite3_column_type int sqlite3_column_type(sqlite3_stmt*, int iCol); OK probado
*> sqlite3_column_name const char *sqlite3_column_name(sqlite3_stmt*, int N); OK probado
*> Statement column type
*> sqlite3_column_int int sqlite3_column_int(sqlite3_stmt*, int iCol); OK probado
*> sqlite3_column_text const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); OK probado
*> sqlite3_column_double double sqlite3_column_double(sqlite3_stmt*, int iCol); OK probado
*> sqlite3_column_blob no implementado