找不到使用'[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]'和'查询查询属性之间的区别。点'符号的主要内容,如果未能解决你的问题,请参考以下文章

Bracket Match Problem(括号匹配问题)

找不到类'MongoDB Driver Query'

“找不到名为'product'的持久性单元”

找不到'number'类型的不同支持对象'33 .265625'

找不到模块'har-schema'

使用grunt时找不到模块'karma'