Il blocco funzione FB_SqlDbRead consente di eseguire richieste SQL che leggono i dati dal database SQL. I dati restituiti sono forniti in un array bidimensionale di dati le cui dimensioni sono definite con i parametri globali.
Il blocco funzione FB_SqlDbRead è l'interfaccia utente per la lettura dei dati dal database SQL.
Quando viene rilevato un fronte di salita su i_xExecute, viene stabilito un collegamento con il SQL Gateway utilizzando i parametri definiti nella struttura ST_ConnectionSettings. Non appena è stato stabilito il collegamento, il blocco funzione è in grado di inviare una richiesta SQL al database SQL.
I messaggi di stato e le informazioni di diagnostica sono forniti con le uscite q_xError (TRUE se è stato rilevato un errore), q_etResult e q_etResultMsg.
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
i_xExecute |
BOOL |
Il blocco funzione esegue una richiesta SQL per la lettura dei dati dal database SQL in corrispondenza del fronte di salita di questo ingresso. Per ulteriori informazioni, vedere anche Comportamento dei blocchi funzione con l'ingresso i_xExecute. |
i_refRequestWstring |
REFERENCE TO [RequestWstring] |
Fare riferimento ai dati della richiesta che contiene una richiesta di query SQL (come Qualsiasi richiesta SQL deve essere suddivisa in singole stringhe di lunghezza max. di 200 caratteri ciascuna. Adattare le dimensioni dei parametri globali Gc_uiMaxRequest e Gc_uiRequestWstringLength in funzione della lunghezza delle richieste SQL utilizzate nell'applicazione.
NOTA: Per concatenare WSTRINGS, usare la funzione WCONCAT della libreria Standard64.
|
i_uiNumOfWstrings |
UINT |
Il numero di WSTRINGS necessari che contengono la richiesta SQL suddivisa. Il numero max. è limitato dal parametro globale Gc_uiMaxRequest. |
i_refUserData |
REFERENCE TO [UserData] |
Fare riferimento ai UserData che devono essere disponibili sul controller per memorizzare i dati SQL letti dal database. |
In_Out |
Tipo di dati |
Descrizione |
---|---|---|
iq_stConnSettings |
ST_ConnectionSettings |
Contiene le informazioni per la connessione con un SQL Gateway e le informazioni sul database SQL. |
Uscita |
Tipo di dati |
Descrizione |
---|---|---|
q_xBusy |
BOOL |
Se questa uscita è impostata a TRUE, l'esecuzione del blocco funzione è in corso. |
q_xDone |
BOOL |
Se questa uscita è impostata a TRUE, l'esecuzione è stata completata correttamente. |
q_xError |
BOOL |
Se questa uscita è impostata su TRUE, è stato rilevato un errore. Per informazioni, consultare q_etResult e q_etResultMsg. |
q_etResult |
ET_Result |
Fornisce informazioni di stato e di diagnostica. |
q_sResultMsg |
STRING[255] |
Fornisce ulteriori informazioni di stato e di diagnostica. |
q_uiRetNumOfRows |
UINT |
Numero di righe nei dati restituiti. Questa uscita viene aggiornata con il numero di record ricevuti dal database SQL. |
q_uiRetNumOfColumns |
UINT |
Numero di colonne nei dati restituiti. Questa uscita viene aggiornata con il numero di record ricevuti dal database SQL. |
Per ulteriori informazioni, consultare inoltre Ingressi e uscite comuni.
Nel controller deve essere presente un ARRAY bidimensionale per la memorizzazione intermedia dei dati SQL letti dal database. L'ARRAY bidimensionale è definito in ALIAS UserData.
Le dimensioni dell'ARRAY possono essere adattate tramite i parametri globali Gc_uiMaxRows, Gc_uiMaxColumns e Gc_uiTableWstringLength.
Quando si configurano questi parametri, considerare la quantità di dati SQL che si prevede di ricevere. Prima dell'avvio del trasferimento dati, i dati SQL vengono segmentati in funzione delle dimensioni di questo buffer.
Se i dati SQL ricevuti superano le dimensioni dell'ARRAY, il trasferimento dei dati SQL viene interrotto e il blocco funzione segnala un errore rilevato.