ExecuteSQLe

Ejecuta una secuencia de consulta SQL para la ocurrencia de la tabla especificada en un archivo de FileMaker Pro. Si se produce un error, devuelve ? seguido de un mensaje de error.

Formato 

ExecuteSQLe ( sqlPregunta ; separadorCampo ; separadorFila { ; argumentos... } )

Parámetros 

Consulte función ExecuteSQL.

Tipo de datos devuelto 

texto

Se origina en 

21.1.1

Descripción 

ExecuteSQLe es idéntica a la función función ExecuteSQL, excepto que, si se produce un error durante el análisis o la ejecución de la consulta, ExecuteSQLe devuelve un error con este formato:

? ERROR: FQLxxxx/(línea:desfase): mensaje

donde:

  • xxxx es un código de error numérico del lenguaje de consulta de FileMaker, que no está relacionado con los Códigos de error de FileMaker

  • línea y desfase son el número de línea y el desplazamiento hasta el carácter donde comienza el error en el parámetro sqlQuery.

  • mensaje es una descripción del error.

Solo se devuelve un error cada vez. Si hay más de un error, se devuelve otro error después de resolver el error actual.

Ejemplo 1 

Comenzando con el Ejemplo 1 de ExecuteSQL, cambie el cálculo para utilizar la función ExecuteSQLe. A continuación, para ver un mensaje de error detallado, cambie la consulta para que haga referencia a un campo inexistente denominado Título:

Copiar
ExecuteSQLe ( "SELECCIONAR Título DE Empleados DONDE EmpID = 1"; ""; "" )

Esto devuelve:

? ERROR: FQL0007/(1:7): La columna denominada "Título" no existe en ninguna tabla del ámbito de la referencia de columna.

Ejemplo 2 

Establece una variable en el resultado de la consulta del Ejemplo 1 y, a continuación, comprueba si el resultado comienza por ?. Si es así, muestra el resto del resultado (el mensaje de error) y sale del guión.

Copiar
Establecer variable [ $resultado ; Valor: ExecuteSQLe ( "SELECCIONAR Título DE Empleados DONDE EmpID = 1"; ""; "" ) ]
If [ Izquierda ( $resultado ; 1 ) = "?" ]
    Mostrar cuadro de diálogo personalizado [ Derecha ( $resultado ; Longitud ( $resultado ) - 2 ) ]
    Salir del guión [ Resultado de texto: "error" ]
End If