PDA

View Full Version : خطا در کوئری هایی که دارای فیلد تاریخ هستند



MiniMicro
چهارشنبه 20 فروردین 1393, 16:09 عصر
سلام دوستان یه سوال من یه تابع دارم که با استفاده از دو تاریخ تاریخ اول و تاریخ دوم نتایجی رو که بین این دو تاریخ قرار داشته باشند رو برمیگردونه ولی وقتی 3 بار پشت سر هم با تاریخ های یکسان از جدولم کوئری میگیرم این خطا رو میده.

Specified time is not supported in this calendar. It should be between 03/21/0622 00:00:00 (Gregorian date) and 12/31/9999 23:59:59 (Gregorian date), inclusive.

اینم کد:

public DataTable SearchByOrderDate(DateTime startDate,DateTime endDate)
{
SqlDataAdapter da = new SqlDataAdapter("SelectBetweenTwoDate", Connection);
da.SelectCommand.CommandType = CommandType.StoredProcedure;

da.SelectCommand.Parameters.AddWithValue("@startDate", startDate.ToShortDateString());
da.SelectCommand.Parameters.AddWithValue("@endDate",endDate.ToShortDateString());
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
string gregorianDate = dr["تاریخ ثبت"].ToString();
year = gregorianDate.Substring(0, 4);
month = gregorianDate.Substring(5, 2);
day = gregorianDate.Substring(8, 2);

PersianCalendar pc = new PersianCalendar();
string date = year.ToString() + "/" + month.ToString() + "/" + day.ToString();
DateTime gregorianDate2 = DateTime.Parse(date);
string persianDate = pc.GetYear(gregorianDate2) + "/" + pc.GetMonth(gregorianDate2) + "/" + pc.GetDayOfMonth(gregorianDate2);
dr["تاریخ ثبت"] = persianDate;


dt.AcceptChanges();
}
return dt;
}