在传递给查询的参数之前"#*"哈希符号和星号符号的目的是什么?



我有以下查询,该查询从应用程序调用 ASP.NET 并在同一表"DETAILS"中创建行子集,该子集由用于分页目的的参数 $f 2 和 $f 3 定义。

INSERT INTO DETAILS (ID, UIN, ACTIVE_IND, UGUID, CREATED_BY, CREATED_DATE)
SELECT AF.ID, AF.UIN, AF.ACTIVE, AF.UGUID, AF.CREATED_BY, AF.CREATED_DATE FROM 
(SELECT #*$f0 ID, DET.UIN, DET.ACTIVE_IND, DET.UGUID, DET.CREATED_BY, DET.CREATED_DATE, 
        DENSE_RANK() OVER (ORDER BY P.PRODUCT_ID) FG 
        FROM DETAILS DET 
        JOIN PRODUCTS P ON P.UIN = DET.UIN 
        WHERE ID = #*$f1 ) AF 
    WHERE AF.FG BETWEEN #*$f2 AND #*$f3

调用此查询的 ASP.NET c# 代码如下所示

 new SqlDataSource().ExecuteSql("InsertDetails",
                new List<object>() {_subSetId, _mainSetId, start, end});

"InsertDetails"是上述查询的名称,"start"end"是分页范围。

我的问题是:此查询中的参数之前的"#*"是什么函数或用途??.我需要为其他表复制此查询,但想知道为什么参数像"#*$f 0"、"#*$f 1"、"#*$f 2"和"#*$f 3"这样传递。

你让我把我的评论作为答案。看来我猜对了:

有时这些奇怪的字符被用作占位符,这些占位符是 在调用之前在字符串级别替换(动态命令的一种 世代(...既不美丽也不干净,但有时 - 好吧 - 你知道的。。。

您可以使用探查器来监视语句 被直接处理

祝您编码愉快!

最新更新