小编cod*_*ing的帖子

尝试在 C# 中传递 2 个参数时,SQL Server 存储过程或函数指定了太多参数

我正在尝试执行一个名为getLastFeatureUpdate.

我将在下面一步一步解释这个问题:

我在 SQL 中创建了一个表,如下所示:

CREATE TABLE testTable
(
      DayTime INT     NOT NULL, /*yyddhhmm, 1010102345*/
      FeatureNbr      SMALLINT  NOT NULL,
      Val FLOAT(53)   NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我现在已经创建了一个名为getLastFeatureUpdate. 这里需要注意的是,我使用了 2 个参数@maxDateTime@tableName,因为它们每次都不同。所以我将在最后的 C# 代码中传递这两个参数。

存储过程(如果我@tableName text从过程和 C# 代码中删除。那么代码确实可以提及)

CREATE PROCEDURE getLastFeatureUpdate
    @maxDateTime float(53) = 0,
    @tableName text
AS
    SELECT
        test.FeatureNbr,
        test.DayTime,
        test.Val
    FROM
        @tableName test 
    WHERE
        DayTime = (SELECT MAX(DayTime)
                   FROM @tableName
                   WHERE FeatureNbr = test.FeatureNbr --This is what you are missing
                     AND DayTime …
Run Code Online (Sandbox Code Playgroud)

c# sql-server stored-procedures

0
推荐指数
1
解决办法
58
查看次数

标签 统计

c# ×1

sql-server ×1

stored-procedures ×1