ورود

View Full Version : سوال: عدم نمايش اطلاعات يك sp



Iran58
دوشنبه 05 مهر 1389, 07:31 صبح
سلام
من sp زير نواشته ام كه اطلاعات ثبت شده بين دو تاريخ مختلف را بما نمايش مي دهد(شايد براي 20 رديف اطلاعات داشته باشيم كه يك تاريخ داشته باشند)
وقتي من دوتاريخ مختلف را وارد مي كنم sp جواب مي دهد ولي اگر براي دو پارامتر يك تاريخ را وارد مي كنم sp i هيچ جوابي نم دهند
بايد چكار كنم

USE [Project]
GO
/****** Object: StoredProcedure [dbo].[Daily] Script Date: 09/27/2010 00:10:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[Daily]
@FDate datetime,
@EDate datetime
as
begin
else
select ID=ROW_NUMBER()over(order by Jens Asc), Jens
,SUM(Megdar)as Megdar ,count(jens)as tedad ,SUM([Time])as [Time]
,SUM(CountCar)as Car from tbl1
where [Date] between @FDate and @EDate
group by Jens
end
با تشكر

Iran58
دوشنبه 05 مهر 1389, 10:27 صبح
سلام
ياري دهنده اي نيست؟

ASKaffash
دوشنبه 05 مهر 1389, 14:14 عصر
سلام
فیلد [Date] با ساعت پر می شود ؟

Iran58
دوشنبه 05 مهر 1389, 15:36 عصر
سلام
فیلد [Date] با ساعت پر می شود ؟
سلام
خير مهندس جان
نوع داده از نوعDateاست نهdate time

ASKaffash
دوشنبه 05 مهر 1389, 15:51 عصر
سلام
ولی FDate و Edate شما از نوع DataTime است

Iran58
دوشنبه 05 مهر 1389, 16:09 عصر
سلام
ولی FDate و Edate شما از نوع DataTime است
سلام
ببخشيد حق با شماست حواسم نبوده است
سوال1)چرا مابين دو تاريخ متفاوات را درست بدست مي آورد اما براي يك روز را جواب نمي دهد
سوال2)اگر نوع داده ها به Dateكه در بانك هم نوع تاريخ را از نوعDateتعريف كرده ام جواب را مي توان بدست آورد
سوال3)از كدنويسي با دستور ifمي توان اين كار را انجام داد(اگرFDate=Edateبرابر بود شرط را اجرا كند واگر نبودspما را در else انجام دهد)اگر شدني است لطف با كد توضيح دهيد
باتشكر

اَرژنگ
دوشنبه 05 مهر 1389, 19:45 عصر
سلام
ببخشيد حق با شماست حواسم نبوده است
سوال1)چرا مابين دو تاريخ متفاوات را درست بدست مي آورد اما براي يك روز را جواب نمي دهد

به قسمت ساعتی ۲ تا تاریخ توجه کنید.




سوال2)اگر نوع داده ها به Dateكه در بانك هم نوع تاريخ را از نوعDateتعريف كرده ام جواب را مي توان بدست آورد
سوال3)از كدنويسي با دستور ifمي توان اين كار را انجام داد(اگرFDate=Edateبرابر بود شرط را اجرا كند واگر نبودspما را در else انجام دهد)اگر شدني است لطف با كد توضيح دهيد
باتشكر

زمانی که مقدار دهی میکنید، از متد Math.Floor برایه مقدار دادن به FDate استفاده کنید و از متد Math.Ceiling برایه مقدار دهی EDete استفاده کنید. مثلاً به این شکل :


@FDate = Math.Floor( DateTime.Now);
@Edate = Math.Floor (DateTime.Now + 1);
در حالت کنونیش رکوردهایی که در روز EDate قرار دارند بازگردانه نمیشند. برایه همین زمانی که EDate و FDate یکی هستند هیچ چی بازگردانده نمیشه.