تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: STRING OR DATE

  1. #1
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    14 STRING OR DATE

    با سلام
    من فیلد تاریخ و ساعت رو در بانک اطلاعاتیم از نوع رشته تعریف کردم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    فیلدهای تایم سند و دیت سند از نوع رشته ای تعریف شده اند.
    حالا سوال من اینه که از نظر برنامه نویسی چه فرقی میکنه که من تاریخ رو رشته ای تعریف کنم و یا از نوع دیت؟
    در این برنامه فقط در یک جا عمل مقایسه بین تاریخ کاربر و تاریخ ذخیره شده در پایگاه داده صورت می گیرد و دیگر هیچ عملیات محاسباتی روی تاریخ و زمان انجام نمیشود.
    آیا میشد این تکه کد رو بهینه تر نوشت؟
    با تشکر

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    من قویاً معتقد به ذخیره و پردازش تاریخ به همان صورت استاندارد تاریخ میلادی هستم.
    الآن هم سالهاست که برای ذخیره تاریخ از smalldatetime و datetime استفاده کردم و مشکلی هم وجود نداشته.
    اگر فردی جایی با تاریخ میلادی و تبدیلات و نمایش شمسی و... آن مشکل دارد، قطعاً به راحتی قابل حل است و ذخیره تاریخ در فیلد تاریخی مزیت های زیادی میتواند داشته باشد.

    آیا میشد این تکه کد رو بهینه تر نوشت؟
    بله
    مثلاً همچین کدی از سه منظر نسبت به کد قبلی شما بهینه تر و سریعتر است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولی این هم از نظر بازدهی بد نیست، ضمن اینکه انعطاف پذیری بیشتری هم دارد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    استفاده از این توابع هم خیلی ساده است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تاپیک های مرتبط با تاریخ:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    و...

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    پروفشنال
    تاريخ عضويت
    Nov 2007
    پست ها
    546

    پيش فرض

    با سلام مجدد
    مثلاً همچین کدی از سه منظر نسبت به کد قبلی شما بهینه تر و سریعتر است:
    سوالی که برای من پیش آمده اینه که من فیلد تاریخ رو در بانک به صورت میلادی ذخیره میکنم و می تونم از مزایای توابعی که برای تاریخ وجود داره استفاده کنم ولی در هر بار که میخوام رکوردها رو به کاربر نمایش بدم مجبورم آنرو به شمسی تبدیل کنم در صورتی که اگه از نوع رشته ای تعریف می کردم این زمان رو از دست نمیدادم.
    من اصلا با اینکه تاریخ رو رشته ای تعریف کنم موافق نیستم ولی به می خوام مطمئن بشم که اگه از نوع تاریخ تعریف کنم سریعتر خواهد بود.
    شب خوبی داشته باشید

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    انجام محاسبات روی داده string هم بسیار زمان بر است، اسن محاسبه میتواند از یک مقایسه ساده باشد تا اعتبارسنجی و جمع و تفریق و...

    برای استفاده از فیلدهای مخصوص تاریخ شما باید فقط و فقط تبدیل را در کنترلر نهایی مرتبط با کاربر انجام دهید، این نکته مهمی است و در بازدهی تاثیر دارد.

    مثلاً از کلاس TextBox عادی وراثتی بگیرید و خصیصه Value از نوع DateTime در ان تعبیه کنید که با ست کردن این مقدار همین کنترلر یکراست آن را String کرده و در Text کنترلر قرار دهد.
    همچین برای DataGridView هم میتوانید اقدام کنید.

    یعنی در مرحله آخر و همان نقطه ای که کاربر به برنامه متصل میشود در همانجا این تبدیلات را انجام دهید.
    موفق باشید.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •