ExecuteSQLe

为FileMaker Pro文件中的指定表出现执行SQL查询语句,如果发生错误,返回“?”和错误消息。 后跟一条错误消息。

格式 

ExecuteSQLe ( sql 查询 ; 字段分隔符 ; 行分隔符 { ; 参数... } )

参数 

请参阅ExecuteSQL 函数

返回的数据类型 

文本

原始版本 

21.1.1

说明 

ExecuteSQLe 与 ExecuteSQL 函数相同,只是如果在查询解析或执行过程中出现错误,ExecuteSQLe 将返回以下格式的错误:

? ERROR: FQLxxxx/(line:offset): message

其中:

  • xxxx 是数字 FileMaker 查询语言错误代码,与 FileMaker 错误代码无关

  • lineoffsetsql 查询 参数中错误开始字符的行号和偏移量

  • message 是对错误的描述

一次只返回一个错误。如果存在多个错误,则在当前错误解决后返回另一个错误。

示例 1 

ExecuteSQL 的示例 1 开始,将计算更改为使用 ExecuteSQLe 函数。然后,要查看详细的错误消息,请更改查询,使其引用一个名为 Title 的不存在字段:

复制
ExecuteSQLe ( "SELECT Title  FROM 员工 WHERE 员工ID = 1"; ""; "" )

这将返回:

? ERROR: FQL0007/(1:7): The column named "Title " does not exist in any table in the column reference's scope.

示例 2 

为示例 1 中的查询结果设置一个变量,然后检查结果是否以 ?开头。 如果是,它会显示结果的其余部分(错误消息)并退出脚本。

复制
设置变量 [ $result ; 值: ExecuteSQLe ( "SELECT Title FROM 员工 WHERE 员工ID = 1"; ""; "" ) ]
If [ Left ( $result ; 1 ) = "?" ]
    显示自定义对话框 [ 右 ( $result ; 长度 ( $result ) - 2 ) ]
    退出脚本 [ 文本结果: "错误" ]
End If