PDA

View Full Version : سوال: جستجو بین دو تاریخ با dropdownlist



reza4359
جمعه 11 فروردین 1391, 02:04 صبح
سلام دوستان من میخوام بین دو تا تاریخ جستجو کنم حالا چیزی رو نمایش نمیده من یک تاریخ رو موقع ثبت اطلاعات به این صورت در بانک ذخیره کردم
private void searchdate()
{
PersianCalendar pc = new PersianCalendar();
string dt = pc.GetYear(System.DateTime.Now) + "" + pc.GetMonth(System.DateTime.Now) + "" + pc.GetDayOfMonth(System.DateTime.Now).ToString();
Label20.Text = dt;
}
و بعد به صورت پارامتر اونو داخل یک لیبل قراردادم و به بانک فرستادم
cmd.Parameters.AddWithValue("@searchdate", Label20.Text);
و به این صورتم جستجو میکنم ولی چیزی رو نمایش نمیده
string query = "select * from tb where searchdate BETWEEN '" + DropDownList1.SelectedItem.ToString() + DropDownList2.SelectedItem.ToString() + DropDownList3.SelectedItem.ToString() + "' and '" + DropDownList4.SelectedItem.ToString() + DropDownList5.SelectedItem.ToString() + DropDownList6.SelectedItem.ToString() + "' order by searchdate ASC";

باید چه کار کرد؟

hamid_shrk
جمعه 11 فروردین 1391, 10:01 صبح
اول اینکه نوع فیلدت تو دیتا بیس باید Date باشه ، یه موقع datetime نباشه.
بعد اینکه 3 تا دراپ دان رو باهم جمع کن بریز تو یک متغیر ، بعد با یک break poin ببین اصلا چه شکلی ذخیره میشن ، امکان داره موقع جمع کردن برعکس بشن

reza4359
جمعه 11 فروردین 1391, 10:18 صبح
وقتی از date استفاده میکنم موقع ثبت اطلاعات این خطا رو میده
Conversion failed when converting date and/or time from character string.

من تاریخ رو میریزم داخل لیبل و بعد مثل کد بالا اونو با یک پارامتر به بانک میفرستم حالا مشکل از کجاست؟

hamid_shrk
جمعه 11 فروردین 1391, 11:07 صبح
خوب شما احتمالا جمعی که دارید میکنید یک date time معتبر نیست.
اول 3 تا دراپ دان رو باهم جمع کنید و اونارو convert.ToDatetime بکنید ، بعد به بانک بفرستید برای کوئری.