ExecuteSQLe
Utför ett SQL-frågeuttryck för den angivna tabellförekomsten i en FileMaker Pro-fil och returnerar ? om ett fel uppstår, följt av ett felmeddelande.
Format
ExecuteSQLe ( sqlfråga ; fältavgränsare ; radavgränsare { ; argument... } )
Parametrar
Mer information finns i Funktionen ExecuteSQL.
Returnerad datatyp
text
Ursprungsversion
21.1.1
Beskrivning
ExecuteSQLe är identisk med Funktionen ExecuteSQL, förutom att om ett fel inträffar under frågetolkningen eller frågeutförandet returnerar ExecuteSQLe ett fel i detta format:
? FEL: FQLxxxx/(rad:förskjutning): meddelande
där:
-
xxxx
är en numerisk felkod för FileMaker-frågans språk som inte är relaterad till FileMaker-felkoder -
rad
ochförskjutning
är radnumret och förskjutningen till det tecken där felet börjar isqlQuery
-parametern -
meddelande
är en beskrivning av felet
Endast ett fel returneras åt gången. Om det finns fler än ett fel returneras nästa fel när det aktuella felet har åtgärdats.
Exempel 1
Ändra beräkningen så att funktionen ExecuteSQLe används från och med exempel 1 för ExecuteSQL. Om du sedan vill se ett detaljerat felmeddelande ändrar du frågan så att den refererar till ett obefintligt fält med namnet Titel:
ExecuteSQLe ( "SELECT Titel FROM Anställda WHERE AnstID = 1"; ""; "" )
Detta returnerar:
? FEL: FQL0007/(1:7): Kolumnen med namnet ”Titel” finns inte i någon tabell i kolumnreferensens räckvidd.
Exempel 2
Ställer in en variabel till resultatet av frågan i exempel 1 och kontrollerar sedan om resultatet börjar med ?. I så fall visas resten av resultatet (felmeddelandet) och skriptet avslutas.
Ange variabel [ $resultat ; Värde: ExecuteSQLe ( "SELECT Titel FROM Anställda WHERE AnstID = 1"; ""; "" ) ]
If [ Vänster ( $resultat ; 1 ) = "?" ]
Visa anpassad dialogruta [ Höger ( $resultat ; Längd ( $resultat ) - 2 ) ]
Avsluta script [ Textresultat: "fel" ]
End If