ورود

View Full Version : بدست آوردن مقدار آخرین رکورد در یک جدول SQL + در پیاده سازی کمک میخام؟



SajjadStr
شنبه 23 شهریور 1398, 18:22 عصر
سلام به دوستان برنامه نویس
من میخواستم تو یه جدول یه فیلدی یکتا و منحصر به فرد باشه (کلید) اونوقت اتوماتیک به ازای هر رکورد به مقدار آخرین فیلد یکی اضافه بشه
مثال یه جدول داریم که اطلاعات کالاها توش ذخیره میشه و این جدول دو فیلد داشته باشه
1. فیلد Kala_id که کلید جدول ماست و طبق خواسته ای ما میخوایم که اتوماتیک از عدد 1 شروع بشه تا ..... n تا کالا
2. فیلد KalaName که نام کالا ها داخلش ذخیره میشه
-------------------------------------------------------------------------------
خب حالا فرض کنید ما همه دستورات اتصال VB.net به بانک SQL رو هم نوشتیم
حالا میخوایم هر کالایی که اسمش رو زدیم و ذخیره کردیم تو دیتابیس اتوماتیک باهاش فیلد id شماره گذاری بشه
اگه اولین فیلده عدد 1 رو به عنوان ID در نظر بگیره اگه دومیه آخرین ردیف رو مقدارشو بدست بیاره آیدیش چنده 1 واحد بهش اضافه کنه مثلا اگه ردیف 2 جدول یا رکورد دوم باشیم مقدار آخرین سطر رو بدست بیاره که 1 هست و یه واحد بهش اضافه کنه و عدد 2 رو برا آیدی فیلد دوم بزاره تا ......
---------------------------------------------------------------------------------
استدلال و تحقیقات خودم جهت پیاده سازی:


در دیزاین جدول کالا از حالت اتو نامبر یا اتوماتیک استفاده کنیم
فیلد Kala_id رو is identity رو yes کنیم از نوع int اما در این روش مشکل insert کردن دارم یا در صورت حذف یک رکورد همه چی بهم میریزه
اما روش دیگش که فکر میکنم باید راهی باشه اینه که با یه دستوری مقدار آخرین سطر فیلد آیدی رو پیدا کنیم و بعد یک واحد بهش اضافه کیم و در سطر جدید insert کنیم




اما راهنمایی میخوام کمکم کنید...

hamid_hr
دوشنبه 25 شهریور 1398, 07:59 صبح
عموما برای id از identity استفاده میشه. مشکل حذف و .... هم مهم نیست و شما این id رو به کاربر نشون نمیدی فقط توی relation ها ازش استفاده می کنی بنابراین مهم نیست که اون وسط یک ای دی نباشه.
به کاربر یک code که خود کاربر بصورت دستی وارد میکنه رو نمایش میدی

mmbguide
چهارشنبه 29 آبان 1398, 12:01 عصر
علت اینکه میخوای توالی اعداد حفظ بشه چیه؟ چون در نمایش ردیف ها در sql میشه شماره ردیف مرتب تخصیص داد و نگران شماره id نباشی