نمایش نتایج 1 تا 9 از 9

نام تاپیک: افزایش یک کد سیستمی خاص

  1. #1

    افزایش یک کد سیستمی خاص

    من برا هر کسی که تو برنامه ثبت می کنم یه کد سیستمی گذاشتم ،به صورت زیر:
    0203106001000001
    که قسمت قرمز رنگ فقط تغییر میکنه وقسمت مشکی ثابته
    من تو دیتابیس یه فیلد برای ثبت کامل کدسیستمی گذاشتم و یکی هم برای قسمتی که تغییر می کنه
    و چون ابتدای عدد صفر داشت از نوع رشته ای تعریف شون کردم
    باید اینطوری تغییر کنه

    0203106001000001
    0203106001000002
    ....
    0203106001000010
    0203106001000011
    ....
    0203106001000100
    0203106001000101
    ....
    0203106001000999
    حالا سوالی که دارم-چطور این کد افزایش پیدا کنه- وچطور بفهمم آخرین کدی که ثبت شده چی بوده تا عدد بعد از اون برای فرد نمایش داده بشه؟

  2. #2

    نقل قول: افزایش یک کد سیستمی خاص

    دوستان راهنمایی کنن
    سوال خیلی ساده است یا واقعا مشکله؟
    در هر صورت روش هایی که استفاده کردم جواب نمیده

  3. #3
    کاربر دائمی آواتار Directx
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    نامعلوم
    پست
    243

    نقل قول: افزایش یک کد سیستمی خاص

    با این روالی که شما در بخش قرمز کدپیش رفتید بعد از هر بار اضافه شدن عدد هم بزرگتر میشه و مسلما اخرین عدد ثبت شده بزرگترینشونه و می تونید از MAX برای بدست آوردن بزرگترین مقدار فیلد استفاده کنید مثلا


    select max(fied name) from table name;

  4. #4
    کاربر دائمی آواتار علیرضا حسن زاده
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تــــــــــــــــــــــــــبریز
    پست
    897

    نقل قول: افزایش یک کد سیستمی خاص

    به نظرم بهترین کاری که می تونی بکنی اینه که اولا قسمت قرمز رنگ کد رو به صورت عدد ذخیره کنی و به فیلدی هم که این مقدار رو ذخیره میکنه خاصیت افزایشی بدی که با هر بار افزوده شدن رکورد جدید خودش افزایش پیدا کنه
    برای صفرها هم می تونی با توجه به عدد هر وقت که لازم داشتی به تعداد مناسب صفر اضافه کنی که این کار رو هم تو #C و هم با دستورات SQL میتونی انجام بدی(اگه تو گزارش گیری ها به این کد نیاز داری بهتره با SQL انجام بدی)

  5. #5

    نقل قول: افزایش یک کد سیستمی خاص

    اگر به صورت عددی وافزایشی باشه یه مشکل پیش میاد اونم زمان حذف که کدها رو به هم میریزه

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    زیر سایه امام رضا (ع)
    پست
    62

    نقل قول: افزایش یک کد سیستمی خاص

    سلام
    بهترین کار از نظر من اینه که از روش هایی که دوستان گفتن استفاده کنید (استفاده از Identity) البته بهتره که قسمت ثابت عدد رو یه بار ذخیره کنید تا افزونگی نداشته باشید نمونه
    0203106001000000 + n
    n<=999999

    n همون فیلد identity میشه.
    اگرم خواستین مقدار یک فیلد identity رو آپدیت یا دستی اینزرت کنین میتونین از دستور sql زیر استفاده کنین.
    SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF } 

  7. #7

    نقل قول: افزایش یک کد سیستمی خاص

    این کارو قبلا کردم ولی با حذف یه مورد ترتیب کدهای سیستمی بهم میخوره ،من میخوام اگر یکی حذف شد کدها رفرش بشه
    1---------------------------------->1
    حذف ------------------------------> 2
    3 --------------------------------->3
    4

  8. #8

    نقل قول: افزایش یک کد سیستمی خاص

    نقل قول نوشته شده توسط ma.rad مشاهده تاپیک
    این کارو قبلا کردم ولی با حذف یه مورد ترتیب کدهای سیستمی بهم میخوره ،من میخوام اگر یکی حذف شد کدها رفرش بشه
    1---------------------------------->1
    حذف ------------------------------> 2
    3 --------------------------------->3
    4
    شما مگه از این کد به عنوان کلید استفاده نمی کنید؟ اگه اونو تغییر بدید جدوالی که از اون کلید استفاده کردند چه بلایی سرشون بیاد ؟
    آیا واقعا نیازه که رفرش بشن؟ در مورد کارتون توضیح بدین .

  9. #9
    کاربر دائمی آواتار علیرضا حسن زاده
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تــــــــــــــــــــــــــبریز
    پست
    897

    نقل قول: افزایش یک کد سیستمی خاص

    این کارو قبلا کردم ولی با حذف یه مورد ترتیب کدهای سیستمی بهم میخوره ،من میخوام اگر یکی حذف شد کدها رفرش بشه
    1---------------------------------->1
    حذف ------------------------------> 2
    3 --------------------------------->3
    4
    میشه مزیتی که این کار داره رو بفرمایید یعنی کدها به هم نریزه
    معمولا تو عموم سیستمهایی مه برنامه به کاربر کد منحصر به فرد میده باحذف اون کد دیگه شماره ترتیب از دست میره البته میشه با دستورات SQL کاری کرد که بعد از حذف دوباره شماره ها مرتب بشن و سربار زیادی ممکنه برای سیستم ایجاد کنه مثلا شما فرض کنید 1000 تا رکورد رو حذف کردین و بخواین رکورد شماره 1 رو حذف کنید اونوقت میدونید چند تا عملیات Update باید انجام بشه حالا اگه این فیلد کلید باشه برای جدول هیا دیگه هم این اتفاق باید بیفته که به نظر من انجام دادن همچین کاری درست نیست مگر اینکه دلیل قانع کننده ای براش وجود داشته باشه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •