Documentaciónconsultar(db, sql)
Nombre
consultar - Ejecuta una consulta SELECT y devuelve una TABLA BLOX.
Sinopsis
tabla = sqlite.consultar(db, sql)
Descripcion
Ejecuta una consulta SQL de tipo SELECT sobre una base SQLite y construye una TABLA BLOX a partir de las filas devueltas.
Es la forma normal de traer datos desde SQLite hacia el entorno BLOX.
Comportamiento
- Recibe una conexion SQLite abierta y una consulta SQL.
- Construye una tabla con tipado por celda a partir del resultado.
- Los valores
INTEGERyREALse convierten aNUMERICO,TEXTaSTRINGyNULLal valor nulo interno.
Funciones API relacionadas
sqlite.ejecutar()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| db | SQLITE | Handle de conexion SQLite abierto. |
| sql | STRING | Consulta SQL de tipo SELECT. |
Valor de retorno
TABLA - TABLA BLOX construida a partir de las filas retornadas por la consulta.
Ejemplo
ejemplo.blox
INCLUIR "sqlite.api"
INCLUIR "tablas.api"
FUNCION PRINCIPAL
INICIO
SQLITE db
TABLA modulos, funciones, argumentos, markdown
STRING q_mod, q_fun, q_arg, q_md
db = sqlite.abrir("documentacion_blox.db")
// 1. Monta los query's para la ficha cruda de las documentaciones de funciones
//
q_mod = "SELECT clave, nombre FROM modulos ORDER BY clave LIMIT 10;"
q_fun = "SELECT nombre, retorno_tipo FROM v_funciones WHERE modulo_clave = 'SQLITE' ORDER BY nombre;"
q_arg = UNIR("SELECT a.orden, a.nombre, a.tipo ",
"FROM argumentos a ",
"JOIN funciones f ON f.id = a.funcion_id ",
"JOIN modulos m ON m.id = f.modulo_id ",
"WHERE m.clave = 'SQLITE' AND f.nombre = 'importar' ",
"ORDER BY a.orden;")
// 2. Monta la query para la consulta de los markdown de documentaciones
//
q_md = "SELECT titulo FROM markdown_docs ORDER BY titulo;"
// 3. Extrae los datos de la base de datos (alias exportar())
//
modulos = sqlite.consultar(db, q_mod)
funciones = sqlite.consultar(db, q_fun)
argumentos = sqlite.consultar(db, q_arg)
markdown = sqlite.consultar(db, q_md)
// 4. Imprime las tablas con el resultado de las consultas
//
IMPRIMIR("\n\nMODULOS")
IMPRIMIR("\n----------------------------------------\n")
tablas.imprimir(modulos)
IMPRIMIR("\n\nFUNCIONES SQLITE")
IMPRIMIR("\n----------------------------------------\n")
tablas.imprimir(funciones)
IMPRIMIR("\n\nARGUMENTOS DE sqlite.importar()")
IMPRIMIR("\n----------------------------------------\n")
tablas.imprimir(argumentos)
IMPRIMIR("\n\n\nDOCUMENTOS MD")
IMPRIMIR("\n----------------------------------------\n")
tablas.imprimir(markdown)
sqlite.cerrar(db)
FINAL