EseguiSQLe

Esegue un'istruzione di query SQL per la ricorrenza di tabella specificata in un file FileMaker Pro e, se si verifica un errore, restituisce ? seguito da un messaggio di errore.

Formato 

EseguiSQLe ( querySQL ; separatoreCampo ; separatoreRiga { ; argomenti... } )

Parametri 

Vedere funzione EseguiSQL.

Tipo di dati riportato 

Testo

Creata nella versione 

21.1.1

Descrizione 

EseguiSQLe è identica alla funzione funzione EseguiSQL, tranne che, se si verifica un errore durante l'analisi o l'esecuzione della query, EseguiSQLe restituisce un errore in questo formato:

? ERROR: FQLxxxx/(line:offset): message

dove:

  • xxxx è un codice di errore numerico del linguaggio di query FileMaker non correlato ai codici di errore Codici di errore di FileMaker

  • line e offset sono il numero di riga e l'offset rispetto al carattere in cui inizia l'errore nel parametro querySQL

  • message è una descrizione dell'errore

Viene restituito un solo errore alla volta. Se è presente più di un errore, dopo che l'errore corrente è stato risolto viene restituito un altro errore.

Esempio 1 

A partire dall'Esempio 1 per EseguiSQL, modificare il calcolo per utilizzare la funzione EseguiSQLe. Quindi, per visualizzare un messaggio di errore dettagliato, modificare la query in modo che si riferisca a un campo inesistente chiamato Titolo:

Copia
EseguiSQLe ( "SELECT Titolo FROM Dipendenti WHERE IDDip = 1"; ""; "" )

Questo restituisce:

? ERROR: FQL0007/(1:7): Colonna "Titolo" non presente in nessuna tabella nel campo di riferimento della colonna.

Esempio 2 

Imposta una variabile al risultato della query nell'Esempio 1, quindi controlla se il risultato inizia con ?. In caso affermativo, visualizza il resto del risultato (il messaggio di errore) ed esce dallo script.

Copia
Imposta variabile [ $risultato ; Valore: EseguiSQLe ( "SELECT Titolo FROM Dipendenti WHERE IDDip = 1"; ""; "" ) ] If [ Sinistra ( $risultato ; 1 ) = "?" ]
    Mostra finestra personalizz [ Destra ( $risultato ; Lunghezza ( $risultato ) - 2 ) ]
    Esci dallo script [Risultato testo: "errore" ]
End If