امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
نمايش تاريخ بصورت شمسي
نویسنده پیام
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #12
RE: نمايش تاريخ بصورت شمسي
(۱۹-اردیبهشت-۱۳۸۹, ۲۳:۵۶:۲۶)HoseinVig نوشته است: مبین جان تبدیل تاریخ حتی 1000 رکود کار سنگینی نیست چون فقط یک بار اجرا میشه (در کلاینت) اما اگه این کار رو توی سرور داشته باشیم آره میشه گفت کمی سنگین میشه (اونم در مواردی که تعداد کاربران سرور انگشت شمار نباشه)
حسین جان 1 بار که انجام نمیشه در هر بار select شما باید تاریخ ها رو تو سلکتت به شمسی تبدیل کنی
مثلا خروجی یک سلکتت نمایش فروش از تاریخ 1388/02/01 هست تا تاریخ 1388/03/01 خب خروجی ها مثلا 100 تا رکورد هست شما نمی تونی تاریخ میلادی تو بانک رو نشون بدی بلکه قبل از نمایش باید table یا query خروجیتو با یه حلقه پیمایش کنی و تاریخ ها رو از میلادی به شمسی تبدیل کنی

حالا یه سلکت میزنی برای چک های وصول نشده مثلا تاریخ ها از 5 ماه پیش تا دیروز هست خب شما باید کوئری خروجی این سلکت رو هم از میلادی به شمسی تبدیل کنی و به کاربر نشون بدی

شما یک نگاه به تا بع تبدیل میلادی به شمسی بنداز این همه دستورالعمل برای تبدیل تاریخ هر رکورد باید انجام بشه
پس 1 بار تبدیل وجود نداره
البته اوردن اینجور پردازشها از سمت سرور به کلاینت کار عاقلانه ای هست

البته بعضی ها یک کار دیگه میکنن در جدول 2 رکورد برای تاریخ در نظر میگیرن 1 فیلد تاریخ میلادی ثبت میشه 1 فیلد تاریخ شمسی جستجو ها بر اساس تاریخ میلادی انجام میشه و در خروجی تاریخ شمسی قید میشه اینجوری هیچ پردازش اضافی صورت نمیگیره ولی در عوض ایجاد یک فیلد اضافه و افزونگی و این مسایل

نقل قول: در رابطه با روش شما هم الان حضور ذهن ندارم ولی قبلا یادم هست که چند تا نقص ازش پیدا کرده بودم...
خوشحال میشم مشکلاتشو بدونم چون از این روش برای برنامه چند جا استفاده کردم

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۰-اردیبهشت-۱۳۸۹, ۰۸:۵۴:۳۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig
HoseinVig آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,165
موضوع‌ها: 97
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 4768
( 2464 تشکر در 677 ارسال )
ارسال: #13
RE: نمايش تاريخ بصورت شمسي
از یک بار اجرا منظورم یک بار اجرا روی سلکت بود(روی تکتک رکورد ها)
در هر صورت تشکر ، بحث خوبی بود

۲۰-اردیبهشت-۱۳۸۹, ۱۲:۵۴:۲۳
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #14
RE: نمايش تاريخ بصورت شمسي
برای دیتابیس های تا متوسط فکر نکنم یه همچین محاسبه هایی برای سرور مشکلی داشته باشه. من ترجیح میدم فیلد رو همون date تعریف کنم و دو تا تابع برای تبدیلش به/از شمسی بنویسم ( توی خود db ). اینجوری هر جور سرچ و فیلتری بر اساس میلادی/شمسی بخوام میتونم انجام بدم. بار زیادی هم فک نکنم وارد کنه.
برای دیتابیس های بزرگ و پر ترافیک ...

میزان رای دشمن است!
[تصویر:  cff100.png]
۲۰-اردیبهشت-۱۳۸۹, ۱۹:۱۵:۴۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #15
RE: نمايش تاريخ بصورت شمسي
نقل قول: فرایند رو تحت کلاینت بیاری فقط اون بار رو از رو سرور به کلاینتها منتقل میکنی
در کلاینتها با استفاده از application شما باید تو یه حلقه تمام رکوردها رو پیمایش و روال تغییر تاریخ و زمانبر بودن به قوت خودش باقیه

از sql2005 به بعد شما میتونین یک دیتا تایپ مجازی برای خودتون ایجاد کنید با استفاده از این قابلیت شما میتونین یک دیتاتایپ برای تاریخ شمسی به sql server اضافه کنین و ازش استفاده کنین
(منظورم این بود ، تو پست 6 فکر کنم منظورمو بد رسوندم)

من به شخصه از این روش استفاده میکنم

ابتدا ما فیلد تاریخ رو به صورت int در نظر بگیریم و موقع وارد کردن اطلاعات // های بین تاریخ رو برداریم یعنی 1388/01/07 رو به صورت 13880107 وارد میکنیم و با استفاده از یک تابع در سمت sql در هنگام نمایش خروجی // ها رو به خروجی اضافه می کنیم

راه استفاده از دستورات مثل Between یا datePart , یا Datediff تو این روش به چه شکلیه چون در اکثر پروژه ها این توابع نیازه

میتونی یه آمار خیلی معمولی از پروسه تبدیل بدی تا یه خورده ارزش این کار مشخص بشه .

هر چی روش خوبه توش خوب نیست!
(آخرین ویرایش در این ارسال: ۲۱-اردیبهشت-۱۳۸۹, ۱۶:۴۵:۵۰، توسط esmaeily-hosein.)
۲۱-اردیبهشت-۱۳۸۹, ۱۶:۴۲:۳۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] ارسال پسورد بصورت كد شده iran58 1 2,524 ۱۹-آذر-۱۳۹۰, ۲۲:۱۶:۵۷
آخرین ارسال: Payman62
  تبديل تاريخ iran58 3 3,418 ۲۰-تير-۱۳۹۰, ۱۴:۴۲:۲۳
آخرین ارسال: Ghoghnus
  ارور در نمايش داده ها iran58 0 2,154 ۱۷-مهر-۱۳۸۹, ۰۹:۰۵:۱۳
آخرین ارسال: iran58
  نمايش اطلاعات درcombox iran58 1 3,628 ۲۴-شهریور-۱۳۸۹, ۱۶:۰۲:۰۹
آخرین ارسال: aydin_key
  عدم نمايش فرم iran58 0 2,166 ۰۸-شهریور-۱۳۸۹, ۱۱:۲۹:۳۹
آخرین ارسال: iran58
Question نمايش فرم در پنل iranazarakhsh 1 3,001 ۰۲-شهریور-۱۳۸۹, ۱۵:۲۱:۲۲
آخرین ارسال: dreamvbfox
  نمايش فرم در وسط صفحه iran58 1 5,707 ۲۰-مرداد-۱۳۸۹, ۱۳:۲۲:۴۵
آخرین ارسال: HoseinVig
  نمایش داده ها در یک سل بصورت ستاره iran58 0 2,272 ۲۰-مرداد-۱۳۸۹, ۰۸:۱۵:۱۸
آخرین ارسال: iran58
  نمايش داده ها در ديتاگريد iran58 1 3,030 ۱۲-مرداد-۱۳۸۹, ۱۲:۳۳:۵۹
آخرین ارسال: far_222000
  ثبت كلمه عبور بصورت هش شده در جدول iran58 3 3,934 ۲۸-تير-۱۳۸۹, ۱۳:۱۰:۳۱
آخرین ارسال: lord_viper

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS