I have a stored procedure when I am executing this query in SQL Server
exec SelectOfficeNameGroup '2011-10-05', '2011-11-09', ''
it returns 110 rows.
Now I have two datepicker on my c# 3.5 form and one button which executes the query like this:
var result = context.SelectOfficeNameGroup(dateTimePickerFrom.Value, dateTimePickerTo.Value, "");
but its only returns 2 rows.
My date picker's format is MM/DD/YYYY
This is my procedure
ALTER PROC [dbo].[SelectOfficeNameGroup]
@From datetime,
@To datetime,
@OfficeName nvarchar(50)
AS
BEGIN
SELECT
ID AS ProductID, OfficeName,
SUM(Quantity) AS Quantity,
SUM(TotalPrice) AS TotalPrice,
Category
FROM
ProductLogWithCategory
WHERE
DateTime BETWEEN @From AND @To AND OfficeName = @OfficeName
GROUP BY
OfficeName, ID, Category
return
END
Any advice?
Try with
var result = context.SelectOfficeNameGroup(dateTimePickerFrom.Value.ToString("yyyy-MM-dd"), dateTimePickerTo.Value.ToString("yyyy-MM-dd"), "");
Have a look at the DateTime.ToString documentation
Update
Just to be on the safe side try
ALTER PROC [dbo].[SelectOfficeNameGroup]
@From varchar(8),
@To varchar(8),
@OfficeName nvarchar(50)
AS
BEGIN
SELECT
ID AS ProductID, OfficeName,
SUM(Quantity) AS Quantity,
SUM(TotalPrice) AS TotalPrice,
Category
FROM
ProductLogWithCategory
WHERE
DateTime BETWEEN @From AND @To AND OfficeName = @OfficeName
GROUP BY
OfficeName, ID, Category
return
END
and use it like this
from sql
exec SelectOfficeNameGroup '20111005', '20111109', ''
from linq
var result = context.SelectOfficeNameGroup(dateTimePickerFrom.Value.ToString("yyyyMMdd"), dateTimePickerTo.Value.ToString("yyyyMMdd"), "");