我已经获得了一个使用AngularJS和ColdFusion即服务的项目。我理解Angular,但我之前从未使用过ColdFusion。在ColdFusionComponent的CFFunction标记内,我有一些正在生成的复杂SQL。除了从服务返回的实际数据之外,我希望服务返回执行的SQL的实际文本。有人能告诉我这是怎么做到的吗?
答案 0 :(得分:2)
来自评论
为了获取已执行的SQL语句,您可以使用<cfquery>
标记的result属性。当您包含该属性时,ColdFusion将返回有关查询的更多信息,包括已执行的SQL语句。 “使用”部分下的See the docs here(大约在页面中间)以获取更多信息。
参考文献:
cfquery标记还在结构中返回以下结果变量。您可以使用在result属性中指定的名称前缀来访问这些变量。例如,如果将名称myResult分配给result属性,则将检索通过访问#myResult.sql#执行的SQL语句的名称。结果属性为可能同时从多个页面调用的函数或CFC提供了一种方法,以避免将一个调用的结果覆盖到另一个调用。 INSERT查询的结果变量包含一个键值对,它是插入行的自动生成的ID;这仅适用于支持此功能的数据库。如果插入了多个记录,则该值可以是ID列表。密钥名称是特定于数据库的。
Variable name Description result_name.sql The SQL statement that was executed. result_name.recordcount Number of records (rows) returned from the query. result_name.cached True if the query was cached; False otherwise. result_name.sqlparameters An ordered Array of cfqueryparam values. result_name.columnList Comma-separated list of the query columns. result_name.ExecutionTime Cumulative time required to process the query. result_name.IDENTITYCOL SQL Server only. The ID of an inserted row. result_name.ROWID Oracle only. The ID of an inserted row. This is not the primary key of the row, although you can retrieve rows based on this ID. result_name.SYB_IDENTITY Sybase only. The ID of an inserted row. result_name.SERIAL_COL Informix only. The ID of an inserted row. result_name.GENERATED_KEY MySQL only. The ID of an inserted row. MySQL 3 does not support this feature. result_name.GENERATEDKEY Supports all databases. The ID of an inserted row.