【问题标题】:Returning Output Param from SQL Connection从 SQL 连接返回输出参数
【发布时间】:2009-11-06 20:07:35
【问题描述】:

这是可能的还是正确的方法(如果您不使用存储过程):

conn.CommandText = "set @TotalPts = select SUM (pts) from cars where completedDate is not null and customerID = @customerID";
                conn.AddParam("@customerID", customerID);
                conn.AddOutputParam("@TotalPts", SqlDbType.Int);

                return (int)conn.OutputParamValue;

我想取回总和,以便可以在我的 C# 方法中返回它。我不确定如何在字符串中设置输出参数。

【问题讨论】:

    标签: c# sql sql-server parameters


    【解决方案1】:

    您可以改为使用 ExecuteScalar 方法,如下所示。

    conn.CommandText = select SUM (pts) 
                        from cars 
                        where completedDate is not null 
                               and customerID = @customerID";
    
    obj count=cmd.ExecuteScaler();
    

    使用 Convert.ToInt32 函数将该计数转换为 Integer

    【讨论】:

      【解决方案2】:

      使用 ExecuteScalar 以及“从已完成日期不为空且 customerID = @customerID 的汽车中选择 SUM (pts)”。

      它将为您提供第一行/第一列中的内容,这就是您想要的。

      【讨论】:

        【解决方案3】:

        “我不确定如何在字符串中设置输出参数。”

        select @TotalPts = SUM(pts) from ...
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多