【发布时间】:2018-12-22 08:00:20
【问题描述】:
好的,我们开始吧。
使用 Kentico 11/Portal 引擎(无热修复)
有一个包含仅内容页面类型的表格。一个重要的字段是日期和时间字段。
我正在尝试从该表中获取与特定月份和年份条件匹配的行。例如,给我Month=2 and Year=2018 的所有记录。这些参数将通过查询字符串传递
我有一个自定义存储过程,我想接收两个 int(或字符串)参数,然后返回所有匹配行的集合。
我正在使用 RepeaterWithCustomQuery 来调用该过程并处理结果行。正如您在下面看到的,查询字符串参数被命名为“year”和“monthnumber”。
查询
Me.PR.PREDetailSelect
在此配置中设置我的 Webpart 时,我收到以下错误:
在我的查询中,我尝试过:
EXEC Proc_Custom_PRDetails @MonthNumber = ##ORDERBY##; @Year = ##WHERE##<br/>
EXEC Proc_Custom_PRDetails @MonthNumber = ##ORDERBY##, @Year = ##WHERE##<br/>
EXEC Proc_Custom_PRDetails @MonthNumber = ##ORDERBY## @Year = ##WHERE##<br/>
任何帮助将不胜感激(在此先感谢 Brendan)。最后,当我试图更改名称以保护无辜者时,不要太拘泥于特定对象的名称。
【问题讨论】:
-
“提前谢谢布伦丹”
-
查询
EXEC Proc_Custom_PRDetails @MonthNumber = ##ORDERBY##, @Year = ##WHERE##看起来正确,但令人困惑的是错误消息末尾的额外'=1'。你能发布一个查询字符串的例子吗? -
确保使用数据转换方法清理中继器属性中使用的宏:docs.kentico.com/k11/macro-expressions/…。否则,您可能会通过将用户控制的数据直接传递到 SQL 查询中来引入 SQL 注入漏洞。
标签: kentico