gpt4 book ai didi

sql-server - 为什么括号访问表示法有效但点不起作用?

转载 作者:行者123 更新时间:2023-12-02 22:56:42 24 4
gpt4 key购买 nike

我在 ColdFusion 中有一个搜索表单。在发布时,它调用 SQL 存储过程。默认情况下,它返回前 20 条匹配记录,并接受“pagenum”参数(以及许多其他输入参数),该参数允许您指示您希望查看哪 20 条记录(用于分页)。由于某种原因,这段代码达到了预期的结果:

<cfset form["pagenum"] = 3 />

虽然这似乎根本没有任何效果:

<cfset form.pagenum = 3 />

我的印象是这两行代码完全相同,您想要使用方括号表示法的唯一原因是变量中存在点表示法不允许的异常字符。那么为什么这两行代码会得到不同的结果呢?

(以防万一,存储过程接受 xml 格式的所有参数,然后解析它们。我们有一个 Coldfusion 函数,我们调用它来转换参数结构 - 在本例中为 form - 到 xml 并将其传递到函数中。)

更新:

我刚刚注意到,当我使用 form.pagenum 时,结构中的键是大写的 (PAGENUM),而如果我使用 form["pagenum] ,它是小写的 (pagenum )。似乎如果您向结构中添加一个值,则键默认为大写。并且由于 XML 区分大小写,这可能是存储过程失败的原因...

最佳答案

<cfset form.pagenum = 3 />

默认键为大写 (PAGENUM),导致 xml 中出现问题,该 xml 区分大小写且需要 pagenum

<cfset form["pagenum"] = 3 />

指定键的大小写并避免此问题。

关于sql-server - 为什么括号访问表示法有效但点不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21305044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com