在 Kentico 中使用带有自定义查询的 Repeater 执行存储过程

Executing a stored procedure using a Repeater with custom query in Kentico

我正在尝试调用接受 3 个输入(州、邮政编码和距离)的存储过程。提交搜索后,输入的值将被放入查询字符串中,这就是我试图让它们传递给存储过程的方式。

我决定使用带有自定义查询的转发器,在我的查询中我设置如下:

exec Republic.BranchesNearZip @zip = '{%zipCode%}', @state = '{%state%}', @miles = '{%distance%}'

有了转变。

当我检查我的检查器时,我看到了响应中的值,但我不断收到,'No Data Found',但如果我将这些值硬编码到自定义查询中,它似乎可以工作。

它不适用于开箱即用的 {% ... %} 之类的宏,这已经讨论过 . You need to use sql query and sql macros,您 不能使用带参数的 stor proc.

您不能在查询本身中使用宏。但是,您仍然可以将宏传递给查询并将它们传递给您的存储过程。

以下面的查询为例(注意:确保查询类型是"Query text"):

DECLARE @NumOne int,
        @NumTwo int;

SELECT ##COLUMNS##

EXEC [dbo].[spAddTwoNumbers] @NumOne, @NumTwo

然后在我们中继器的Select columns属性中:

@NumOne = {% return 25 %}, @NumTwo = {% return 25 %}

查询解析器将生成以下查询作为结果:

DECLARE @NumOne int,
        @NumTwo int;

SELECT @NumOne = 25, @NumTwo = 25

EXEC [dbo].[spAddTwoNumbers] @NumOne, @NumTwo