Xcalivorse
چهارشنبه 09 مرداد 1387, 21:39 عصر
دوستان سلام. من همیشه با درج تاریخ شمسی در دیتابیس مشکل داشتم. بعد از یه کمی فکر یه روشی به ذهنم رسید که انجامش دادم و تا الان داره بهم کار میده. توی تاپیک های متعددی هم این مشکل عنوان شده.
در این روش ابتدا قسمت های مختلف یک تاریخ رو ( روز، ماه، سال) به صورت رشته درآورده و پس از چسباندن آنها بهم رشته مورد نظر رو تبدیل به عدد میکنیم. سپس عدد رو در دیتابیس ذخیره میکنیم.
توی عکس ضمیمه مراحل نشون داده شده.
برای ذخیر سازی عدد در دیتا بیس نیاز به فیلدی از نوع Int دارید که فقط 4 بایت اشغال میکنه (4 بایت کمتر از DateTime). و میتونید به راحتی با استفاده از آن Query بگیرید. هر جور که فکرشو بکنید. به راحتی میتونید داده های بین دو تاریخ خاص رو بازیابی کنید یا داده های یک تارخ مورد نظر رو همچنین داده هایی که مثلا در روز نهم (در تمام تاریخ ها یا در یک بازه محدود) درج شدند و... .
توجه کنید عدد های تک رقمی باید به صورت صفر به همراه عدد نشان داده شود مثلا 1 به صورت 01 باید به رشته مورد نظر چسبیده شود.
به امید خدا نمونه برنامه اش هم که تموم شد ضمیمش میکنم.
دوستان اگر عیب یا نقصی به ذهنتون میرسه لطفا بگین.
امیدوارم مطلب یاد شده براتون مفید باشه.
باتشکر.
در این روش ابتدا قسمت های مختلف یک تاریخ رو ( روز، ماه، سال) به صورت رشته درآورده و پس از چسباندن آنها بهم رشته مورد نظر رو تبدیل به عدد میکنیم. سپس عدد رو در دیتابیس ذخیره میکنیم.
توی عکس ضمیمه مراحل نشون داده شده.
برای ذخیر سازی عدد در دیتا بیس نیاز به فیلدی از نوع Int دارید که فقط 4 بایت اشغال میکنه (4 بایت کمتر از DateTime). و میتونید به راحتی با استفاده از آن Query بگیرید. هر جور که فکرشو بکنید. به راحتی میتونید داده های بین دو تاریخ خاص رو بازیابی کنید یا داده های یک تارخ مورد نظر رو همچنین داده هایی که مثلا در روز نهم (در تمام تاریخ ها یا در یک بازه محدود) درج شدند و... .
توجه کنید عدد های تک رقمی باید به صورت صفر به همراه عدد نشان داده شود مثلا 1 به صورت 01 باید به رشته مورد نظر چسبیده شود.
به امید خدا نمونه برنامه اش هم که تموم شد ضمیمش میکنم.
دوستان اگر عیب یا نقصی به ذهنتون میرسه لطفا بگین.
امیدوارم مطلب یاد شده براتون مفید باشه.
باتشکر.