ExecuteSQLe
Voert een SQL-opvraaginstructie uit voor de opgegeven tabelvermelding in een FileMaker Pro-bestand en retourneert ? als er een fout optreedt gevolgd door een foutbericht.
Opmaak
ExecuteSQLe ( sqlQuery ; verscheidingsteken ; rijscheidingsteken { ; argumenten... } )
Parameters
Zie ExecuteSQL functie.
Resulterend gegevenstype
tekst
Afkomstig uit versie
21.1.1
Beschrijving
ExecuteSQLe is identiek aan de functie ExecuteSQL functie, behalve dat als er een fout optreedt tijdens het parseren of uitvoeren van query's, ExecuteSQLe een fout retourneert in deze indeling:
? FOUT: FQLxxxx/(regel:offset):bericht
waarbij:
-
xxxx
is een numerieke foutcode voor de FileMaker-query-taal die geen verband houdt met de FileMaker-foutcodes -
regel
enoffset
zijn het regelnummer en de offset naar het teken waar de fout begint in desqlQuery
parameter -
bericht
is een beschrijving van de fout
Er wordt slechts één fout tegelijk geretourneerd. Als er meer dan één fout aanwezig is, wordt een andere fout geretourneerd nadat de huidige fout is opgelost.
Voorbeeld 1
Beginnend met voorbeeld 1 voor ExecuteSQL, wijzig de berekening om de functie ExecuteSQLe te gebruiken. Als u vervolgens een gedetailleerd foutbericht wilt zien, wijzigt u de query zodat deze verwijst naar een niet-bestaand veld met de naam Titel:
ExecuteSQLe ( "SELECTEER Titel UIT Medewerkers WAAR EmpID = 1"; ""; "" )
Dit retourneert:
? FOUT: FQL0007/(1:7): De kolom met de naam „Titel” bestaat niet in een tabel in het bereik van de kolomverwijzing.
Voorbeeld 2
Hiermee stelt u een variabele in voor het resultaat van de query in voorbeeld 1 en controleert u vervolgens of het resultaat begint met. Als dit het geval is, wordt de rest van het resultaat weergegeven (het foutbericht) en wordt het script afgesloten.
Variabel instellen [ $resultaat ; Waarde: ExecuteSQLe ( "SELECTEER Titel UIT Medewerkers WAAR EmpID = 1"; ""; "" ) ]
If [ Left ( $resultaat ; 1 ) = "?" ]
Laat aangepaste dialoog zien [ Rechts ( $resultaat ; Lengte ( $resultaat ) - 2 ) ]
Script aanpassen [ Tekst resultaat: "fout" ]
Eindigt als