我在设计时在ADODataSet.CommandText中加入查询语句,其中有参数:Doctor,:BeginDate,EndDate,可我发现它传给SQLServer时却把参数传丢了(请看最后一行)
exec sp_executesql N'SELECT   o.Sufferer AS ''患者'', 
                SUM(CASE WHEN od.ItemID=1 THEN od.ItemMoney END) AS ''机洗进口牙片'',
                SUM(CASE WHEN od.ItemID=2 THEN od.ItemMoney END) AS ''数字化影象片'',
                SUM(CASE WHEN od.ItemID=3 THEN od.ItemMoney END) AS ''曲面断层片'',
                SUM(CASE WHEN od.ItemID=4 THEN od.ItemMoney END) AS ''头颅正位片'',
                SUM(CASE WHEN od.ItemID=5 THEN od.ItemMoney END) AS ''头颅侧位片'',
                SUM(CASE WHEN od.ItemID=6 THEN od.ItemMoney END) AS ''瓦氏位片'',
                SUM(CASE WHEN od.ItemID=7 THEN od.ItemMoney END) AS ''关节片'',
                SUM(CASE WHEN od.ItemID=8 THEN od.ItemMoney END) AS ''口底咬颌片'',
                (SELECT OrderMoney FROM XOrders WHERE OrderID=o.OrderID) AS ''合计''
FROM XOrders o, XOrderDetail od
WHERE o.Doctor=@P1 AND (o.OrderDate BETWEEN @P2 AND @P3) AND o.Checkout=1 AND o.OrderID=od.OrderID 
GROUP BY o.OrderID, o.Sufferer
ORDER BY o.Sufferer', N'@P1 varchar(3),@P2 datetime,@P3 datetime', '张 <---成了这样,试了多次依然如此