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.
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. 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 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.
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.