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 och förskjutning är radnumret och förskjutningen till det tecken där felet börjar i sqlQuery-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:

Kopiera
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.

Kopiera
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