Appearance
Funciones de Base de Datos y ResultSet
Las funciones Lua de base de datos son las herramientas disponibles en los eventos de Autobase para interactuar con las bases de datos.
sql()
Ejecuta una consulta SQL y devuelve un ResultSet con los resultados.
Sintaxis
lua
variable = sql(query)
variable = sql(query, connectionName)Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
query | string | Sí | Consulta SQL a ejecutar. Puede incluir parámetros con sintaxis @VARIABLE |
connectionName | string | No | Nombre del origen de datos. Si se omite, usa el defaultConnection de la instancia |
Retorno
Devuelve un ResultSet que contiene:
Fields: Lista de campos con nombre y tipo de datoRows: Lista de registros- Métodos de acceso:
rs[row, fieldName]
Uso de parámetros
Las consultas pueden incluir variables Lua como parámetros usando la sintaxis @VARIABLE_NAME.
lua
customerId = 5
orders = sql([[
SELECT id, order_date, total
FROM orders
WHERE customer_id = @customerId
ORDER BY order_date DESC
]])Los parámetros son automáticamente convertidos al tipo apropiado y escapados para prevenir inyección SQL.
Paginación automática
La función sql() soporta paginación automática cuando se usa el parámetro especial @PAGINATION.
lua
currentPage = 1
pageSize = 10
customers = sql([[
SELECT id, name, email
FROM customers
ORDER BY name
@PAGINATION
]])sql_to_vars()
Ejecuta una consulta SQL y asigna automáticamente los campos de la primera fila como variables individuales.
lua
sql_to_vars(query)
sql_to_vars(query, connectionName)rs_to_vars()
Convierte los campos de una fila específica de un ResultSet existente en variables individuales.
lua
rs_to_vars(resultSet, row)get_field_value()
Obtiene el valor de un campo específico de una fila de un ResultSet.
lua
value = get_field_value(resultSet, row, fieldName)Devuelve el valor del campo convertido al tipo Lua apropiado.
Objeto ResultSet
El ResultSet es el objeto que devuelve la función sql() cuando se ejecuta una consulta SQL. Representa un conjunto de resultados de una consulta y proporciona acceso estructurado a los datos devueltos.
Métodos en Lua
get_field_value()
lua
value = resultSet:get_field_value(fieldName, row)Devuelve el valor del campo en la fila indicada, convertido al tipo correcto.
get_row_count()
lua
count = resultSet:get_row_count()Devuelve la cantidad de filas en el ResultSet.
Ejemplos prácticos
Incluyen listados, cálculos y validaciones de datos usando ResultSet.
Valores NULL
Los valores NULL de la base de datos se representan internamente como "###ABNULL###" y se convierten automáticamente a nil cuando se acceden mediante get_field_value().