找不到使用'[bracket]'和'查询查询属性之间的区别。点'符号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找不到使用'[bracket]'和'查询查询属性之间的区别。点'符号相关的知识,希望对你有一定的参考价值。
我有一个代码片段,我从数据库中获取行并从查询中的一个列中查找dateDiff。
<cfquery name="querySearchUUID" maxrows="1">
SELECT [DateInvited]
FROM [INVITE_PERSON]
WHERE [UUID] =
<cfqueryparam value="#arguments.userUUID#"cfsqltype="cf_sql_varchar">
</cfquery>
<cfif querySearchUUID.RecordCount EQ 1>
<cfif dateDiff('h', querySearchUUID.DateInvited, now()) LTE 24>
<cfreturn true>
<cfelse>
<cfreturn false>
</cfif>
<cfelse>
<cfreturn false>
</cfif>
然而,当我在querySearchUUID.DateInvited
中将代码querySearchUUID['DateInvited']
更改为dateDiff()
时,它失败了,我不知道为什么。
这是它产生的错误。
The value class coldfusion.sql.QueryColumn cannot be converted to a date.
任何人都可以请你解释一下究竟是什么区别。谢谢。
答案
根据我的经验,这取决于变量的使用方式。当您在cfdump
标记中使用它时,一些ColdFusion魔术会打印第一行中单元格的值。将它传递给函数时,将传递coldfusion.sql.QueryColumn
类型的原始对象。您总是可以找到调用getMetadata类型的类型,如<cfdump var="#getMetadata(querySearchUUID['DateInvited'])#">
当你需要传递一个值时,你必须使用行号querySearchUUID['DateInvited'][ 1 ]
,从第一行开始。
以上是关于找不到使用'[bracket]'和'查询查询属性之间的区别。点'符号的主要内容,如果未能解决你的问题,请参考以下文章