【发布时间】:2016-11-17 20:32:31
【问题描述】:
这是我遇到的第一个错误: CFSQLTYPE CF_SQL_VARCHAR 的无效数据 [d6-2014-74, , ]
这里是对应的代码。
<cfset x = Arguments.surveyDocNo>
<cfprocparam cfsqltype="cf_sql_varchar" value="#x#">
为了解决这个问题,我将代码更改为:
<cfset x = Arguments.surveyDocNo[1]>
但是,这会返回此错误:
500 您试图取消引用 java.lang.String 类型的标量变量作为具有成员的结构。
所以数组问题是固定的,但我不知道如何解决第二个错误。
<cfdump var="#arguments.surveyDocNo#">
【问题讨论】:
-
在您的第一个屏幕截图中,
surveyDocNo是一个数组,但在您的第二个屏幕截图中它是一个字符串。如果您将变量更改为不再是数组,那么您可以返回原始引用Arguments.surveyDocNo而不使用索引值。 -
@Miguel-F 感谢您的快速回复。可能我理解的不正确,但是当我回到原来的引用时,它又变成了一个数组。
-
为避免混淆,能否请您转储
Arguments.surveyDocNo变量(不是整个结构)并发布屏幕截图。 -
@Leigh 我添加了您要求的信息。
-
谢谢。它显然是一个数组,所以我看不出
<cfset x = Arguments.surveyDocNo[1]>怎么可能抛出错误“...试图取消引用标量变量”。似乎是不同的代码导致了该错误,或者我们知道还有更多的事情发生......?
标签: arrays coldfusion