FB_SqlDbRead

Panoramica

Tipo:

Blocco funzione

Disponibile a partire da:

V1.0.0.0

Task

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.

Descrizione funzionale

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.

Interfaccia

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 Select * from DB limit 10;).

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.

Definizione di un ARRAY di dati utente

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.