FB_SqlDbRead

Descripción general

Tipo:

Bloque de funciones

Disponible desde:

V1.0.0.0

Tarea

El bloque de funciones FB_SqlDbRead se usa para realizar peticiones SQL que leen datos de la base de datos SQL. Los datos de devolución se proporcionan en una matriz de datos bidimensional cuyo tamaño se define con los parámetros globales.

Descripción de funciones

El bloque de funciones FB_SqlDbRead es la interfaz de usuario para leer datos de la base de datos SQL.

Después de detectar un flanco ascendente en i_xExecute, se establece una conexión a la SQL Gateway con los parámetros definidos en la estructura ST_ConnectionSettings. En cuanto se establezca la conexión, el bloque de funciones puede enviar una petición SQL a la base de datos SQL.

Los mensajes de estado y la información de diagnóstico se proporcionan usando las salidas q_xError (TRUE si se ha detectado un error), q_etResult y q_etResultMsg.

Interfaz

Entrada

Tipo de datos

Descripción

i_xExecute

BOOL

El bloque de funciones realiza una petición SQL para leer datos de la base de datos SQL tras el flanco ascendente de esta entrada.

Para obtener más información, consulte también Comportamiento de los bloques de funciones con la entrada i_xExecute.

i_refRequestWstring

REFERENCE TO [RequestWstring]

Referencia a los datos de petición que contiene la petición de consulta SQL (como Select * from DB limit 10;).

Cualquier petición SQL debe dividirse en cadenas individuales que tengan una longitud máxima de 200 caracteres cada una.

Adapte el tamaño de los parámetros globales Gc_uiMaxRequest y Gc_uiRequestWstringLength según la longitud de las peticiones SQL que use en su aplicación.

NOTA: Para concatenar WSTRINGS, use la función WCONCAT de la biblioteca Standard64.

i_uiNumOfWstrings

UINT

El número de WSTRINGS necesarios que contiene la petición SQL dividida.

El número máximo está limitado por los parámetros globales Gc_uiMaxRequest.

i_refUserData

REFERENCE TO [UserData]

Referencia a los UserData que deben estar disponibles en el controlador para almacenar los datos SQL leídos de la base de datos.

In_Out

Tipo de datos

Descripción

iq_stConnSettings

ST_ConnectionSettings

Contiene la información para conectarse a una SQL Gateway e información sobre la base de datos SQL.

Salida

Tipo de datos

Descripción

q_xBusy

BOOL

Si esta salida está configurada en TRUE, la ejecución del bloque de funciones está en curso.

q_xDone

BOOL

Si esta salida está configurada en TRUE, la ejecución se ha completado correctamente.

q_xError

BOOL

Si esta salida se establece en TRUE, significa que se ha detectado un error. Para obtener información detallada, consulte q_etResult y q_etResultMsg.

q_etResult

ET_Result

Proporciona información de estado y diagnóstico.

q_sResultMsg

STRING[255]

Proporciona información adicional de estado y diagnóstico.

q_uiRetNumOfRows

UINT

Número de filas en los datos de devolución.

Esta salida se actualiza con el número de registros que se ha recibido de la base de datos SQL.

q_uiRetNumOfColumns

UINT

Número de columnas en los datos de devolución.

Esta salida se actualiza con el número de registros que se ha recibido de la base de datos SQL.

Si desea más información, consulte también Entradas y salidas comunes.

Definición de una ARRAY de datos de usuario

Debe disponer de una ARRAY bidimensional en el controlador para el almacenamiento intermedio de los datos SQL leídos de la base de datos. La ARRAY bidimensional se define en el ALIAS UserData.

El tamaño de la ARRAY se puede adaptar a través de los parámetros globales Gc_uiMaxRows, Gc_uiMaxColumns y Gc_uiTableWstringLength.

Cuando configure estos parámetros, tenga en cuenta la cantidad de datos SQL que espera recibir. Antes de iniciar la transferencia de datos, los datos SQL se segmentan según el tamaño de su búfer.

Si los datos SQL que se reciben superan el tamaño de la ARRAY, la transferencia de datos SQL se detiene y el bloque de funciones señala un error detectado.