具有自定义查询的UniversalViewer Where子句使用查询字符串参数

问题描述 投票:0回答:2

我想使用页面URL中的查询字符串参数加载包含UniversalViewerWithCustomQuery webpart的页面:

页面URL与查询字符串参数:mysite \ home \ mypage.aspx?id = 3

我到目前为止尝试的内容查询:

SELECT Top 1 ObjectID,Field1,Field2 FROM MyTable Where ObjectID = {%QueryString.id%}

获取错误:'%'附近的语法不正确。那么我试过:

SELECT Top 1 ObjectID,Field1,Field2 FROM MyTable Where ## WHERE ##

内容过滤器Where子句:ObjectID = {%QueryString.id%}

获取错误:属性“wherecondition”中的SQL查询无效。

我还尝试使用字符串{%'3'%}来代替querystring参数并获得相同的错误。我知道我做错了什么但是弄不清楚是什么......

+++++++++++++++++++++++++++++++++++++++++++++++++

更新1

我使用Database objects app将所有SQL内容移动到自定义存储过程中。哪里有一个如何从我的UniversalViewerWithCustomQuery调用存储过程的示例?

更新2

要打电话,想想我会尝试常规的旧TSQL并且它有效:

EXEC Proc_Custom_MyProc_MyProc

但是当我尝试使用参数调用时,我得到的错误与以前一样!

EXEC Proc_Custom_MyProc_MyProc @id = {%'2'%}

kentico
2个回答
0
投票

当您输入宏时,是否使用输入框左侧的箭头输入?你的病情应该是这样的:

ObjectId = {% QueryString.GetValue("id", 0) %}

0
投票

尝试使用以下查询语法:

SELECT ## TOPN ## ## COLUMNS ## FROM MyTable Where ## WHERE ##

从Web部件输入参数

  1. 选择前N:1
  2. WHERE条件:ObjectID = {%QueryString.GetValue(“id”,0)#%} [或{%id%}]
  3. 列:ObjectID,Field1,Field2
© www.soinside.com 2019 - 2024. All rights reserved.