[英]How to use complex query by using ADO.NET
SELECT
Wot.WorkOrderType,
COUNT(CASE WHEN Wo.Status = 'C' THEN 1 END) as [Completed],
COUNT(CASE WHEN Wo.Status = 'E' THEN 1 END) as [Error]
FROM WorkOrder_2002 Wo
INNER Join WorkOrderType Wot ON Wo.WorkOrderTypeId= wot.Id
WHERE Wo.CreateTime BETWEEN '2012-04-01' AND '2012-05-15'
GROUP BY Wo.WorkOrderTypeId,Wot.WorkOrderType
ORDER BY Wo.WorkOrderTypeId,Wot.WorkOrderType
我想使用上面提到的查询来使用ADO.NET检索记录(我想在SqlCommand中传递此查询)。 我想在where子句中传递两个日期。
SqlConnection connection = new SqlConnection(CONNECTIONSTRING);
connection.Open;
SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = @"SELECT
Wot.WorkOrderType,
COUNT(CASE WHEN Wo.Status = 'C' THEN 1 END) as [Completed],
COUNT(CASE WHEN Wo.Status = 'E' THEN 1 END) as [Error]
FROM WorkOrder_2002 Wo
INNER Join WorkOrderType Wot ON Wo.WorkOrderTypeId= wot.Id
WHERE Wo.CreateTime BETWEEN @startdate AND @enddate
GROUP BY Wo.WorkOrderTypeId,Wot.WorkOrderType
ORDER BY Wo.WorkOrderTypeId,Wot.WorkOrderType";
cmd.Parameters.AddWithValue("@startdate", DateTime.Parse("2012-04-01"));
cmd.Parameters.AddWithValue("@enddate", DateTime.Parse("2012-05-15"));
// Do whatever you want with the SqlCommand now...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.