Tipo: |
Bloque de funciones |
Disponible desde: |
V1.0.0.0 |
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.
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.
En cuanto se ejecute el bloque de funciones, la salida q_xBusy se establece en TRUE. Cuando un comando se ha completado correctamente, la salida q_xDone se establece en TRUE.
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.
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. |
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 con 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 |
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, 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 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 ha recibido de la base de datos SQL. |
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.