PDA

View Full Version : سوال: جستجو در یک بازه



eworkpro
چهارشنبه 13 شهریور 1387, 14:40 عصر
سلام دوستان .
من یک فیلد دارام با نام startclock که می خوام دوتا textbox بگذارم که ساعت بگیره
مثلا 7.00 الی 12.00 و هنگام جستجو بیاد و تمام رکوردهایی با این شرط رو نشون بده
حتما می گین اینکه کاری نداره با دستور select کار می کنی و یک where هم می گذاری.
من هم همین کار رو کردم و کد زیر رو گذاشتم :

SELECT * FROM service WHERE startclock BETWEEN'" + time1.Text + "'and'" + time2.Text + "'

اما این کد در بعضی مواقع کار می کنه در بعضی مواقع نه . یعنی چه ؟
یعنی من اگه مثلا بزنم از 4 تا 9 ساعتهای بین اش رو می یاره ولی اگه بازه رو بزرگترش کنم مثلا از 4 تا 12 اصلا هیچ کدوم رو نمی یاره ؟ آخه چرا ؟؟

دوستان خواهشن دستور sql که بتونه این کار رو بدون نقص انجام بده بهم بگین !

mannai29
چهارشنبه 13 شهریور 1387, 15:04 عصر
به خاطر اینه که شما فیلد رو از نوع کاراکتر تعریف کردین و مرتب کردن توی رشته متفاوت از عدد هست.همینطور مقایسه !
مقایسه یک رشته کاراکتر به کاراکتر از سمت چپ صورت می گیره حالا تصور کنین که شما 4 و 12 رو با هم مقایسه می کنین ، معلومه که 4 از 12 بزرگتره و هیچی بینش قرار نمیگیره.
شما باید بجای 4:00 درج کنید 04:00. ;
کامیاب باشید.