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

时间:2018-08-07 14:11:12

标签: stored-procedures repeater kentico

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

我决定将中继器与自定义查询一起使用,在我的查询中,我将其设置为:

var myFile = DriveApp.getFileById(fileID).getAs('text/plain').getDataAsString(); 

进行了转换。

当我检查检查器时,我在响应中看到了值,但我不断得到“找不到数据”,但是如果我将值硬编码到自定义查询中,那似乎就可以了。

2 个答案:

答案 0 :(得分:0)

它不适用于开箱即用的{%...%}之类的宏,这已经在here中进行了讨论。您需要使用sql查询和sql macros,您不能使用带参数的stor proc

答案 1 :(得分:0)

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

以以下查询为例(注意:确保查询类型为“查询文本”):

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