PDA

View Full Version : مشكل در جستجوي تاريخ



mandanim
یک شنبه 15 اسفند 1389, 12:56 عصر
SqlCommand com = new SqlCommand("SELECT * FROM MASTER WHERE (date_m BETWEEN '" + az_m + "' AND '" + ta_m + "')", strconn);

DataSet ds = new DataSet();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(com);

strconn.Open();
da.Fill(dt);
dataGridView4.DataSource = dt;
strconn.Close();
اين پيغام خطا را مي دهد
Syntax error converting datetime from character string.
ta_m يك تازيخ ميلادي است
az_m يك تاريخ ميلادي است
:گریه:

ma.rad
یک شنبه 15 اسفند 1389, 13:05 عصر
نوع فیلدهای تاریخ باید ازنوع DateTime باشه


SELECT * FROM TABLE WHERE DATE>@DATE AND DATE<@DATE

RIG000
یک شنبه 15 اسفند 1389, 14:01 عصر
convert.tostring()

رو برای هر دو time استفاده کن اگه درست نشد بگو

ali.ghodrati
یک شنبه 15 اسفند 1389, 15:20 عصر
سلام دوست عزیز
به دلیل داشتن کاراکترهای (ق.ظ/ب.ظ) یا (AM/PM) در تاریخ sql این پیغام خطا رو میده.در نتیجه برای رفع این اشکال به این صورت عمل کنید

YourDate.ToString().Substring(0,10)
که فقط تاریخ رو میگیره
2011/06/03

mandanim
سه شنبه 17 اسفند 1389, 11:58 صبح
دوستان ممنونم
از اين همه سخاوت
تمام راهها درست بودن
ولي من مشكلمو به اين صورت حل كردم
وسعت دل شماها كه مشكلها رو ميخواين حل كنيد به اندازه تمام دنيا است و ميمونه بزرگي ما كه تو شرمندگي اين همه محبت كوچيكه و گم
از همتون ممنونم
tring[] s1 = dateTimePicker2.DateValue.ToString().Split(new char[] { '/' });
string[] s2 = dateTimePicker3.DateValue.ToString().Split(new char[] { '/' });

ta_m = pcm.ToDateTime(int.Parse(s2[0]), int.Parse(s2[1]), int.Parse(s2[2]), 0, 0, 0, 0);
az_m = pcm.ToDateTime(int.Parse(s1[0]), int.Parse(s1[1]), int.Parse(s1[2]), 0, 0, 0, 0);

SqlCommand comb = new SqlCommand("select count(date_m) FROM MASTER WHERE (date_m BETWEEN '" + az_m.ToLongDateString() + "' AND '" + ta_m.ToLongDateString() + "')", strconn);
SqlDataAdapter sab = new SqlDataAdapter(comb);