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 FileMaker error codes

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

Notas 

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