我有一个查询,我打电话来更新电子邮件服务。大多数情况下它会有数据,但在测试中我遇到的情况是它没有返回任何数据,因为没有数据要返回。在没有数据的情况下,它返回错误“变量EDITEDACCTS未定义”。
我尝试在<cftry>
中包装查询,但它本身并没有“失败”,所以它不会使<cfcatch>
跳闸。我也尝试过定义变量
var EditedAccts = QueryNew("")
以及简单地尝试
<cfif NOT isDefined(#EditedAccts#)>
并且它始终返回“变量EDITEDACCTS未定义” 我需要一个生产就绪的解决方案,我希望在这里的某个地方可以帮助我。
提前感谢您的帮助。
答案 0 :(得分:3)
我刚刚找到答案。在查询调用中设置“result”参数,然后可以检查返回的recordcount字段。
<cfquery name="EditedAccts" datasource="mydatasource" result="queryResult">
...query goes here...
</cfquery>
使用“result”参数时,您将获得一个返回的结构,其中包含使用的sql,缓存设置,执行时间和记录计数。 现在我可以查看记录计数并从那里继续。
希望这将有助于将来的某些人。
答案 1 :(得分:0)
我尝试使用result =“queryResult”但是当我尝试引用查询名称时,我得到类似这样的错误 - “属性查询的值,当前是EditedAccts,无效”。相反,我使用了像IsDefined(“#EditedAccts#”)这样的东西 - 包括引号中的值对我来说是个窍门。我只是ColdFusion的新手,但我很快就会知道,在函数如何解释参数方面,引号中的值与引号中的值完全不同。