这是可行的还是正确的方法(如果你没有使用存储过程):
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#方法返回它。我不确定如何在字符串中设置输出参数。
答案 0 :(得分:2)
您可以改为使用ExecuteScalar方法。
conn.CommandText = select SUM (pts)
from cars
where completedDate is not null
and customerID = @customerID";
obj count=cmd.ExecuteScaler();
使用 Convert.ToInt32 功能将该计数转换为整数。
答案 1 :(得分:0)
使用ExecuteScalar以及“选择来自其中completedDate不为null且customerID = @customerID”的汽车的SUM(pts)。
它会给你第一行/列中的内容,这就是你想要的。
答案 2 :(得分:0)
“我不确定如何在字符串中设置输出参数。”
select @TotalPts = SUM(pts) from ...