PDA

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



SajjadStr
شنبه 23 شهریور 1398, 18:15 عصر
سلام به دوستان برنامه نویس
من میخواستم تو یه جدول یه فیلدی یکتا و منحصر به فرد باشه (کلید) اونوقت اتوماتیک به ازای هر رکورد به مقدار آخرین فیلد یکی اضافه بشه
مثال یه جدول داریم که اطلاعات کالاها توش ذخیره میشه و این جدول دو فیلد داشته باشه
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 کنیم


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

محمد آشتیانی
یک شنبه 24 شهریور 1398, 08:33 صبح
سلام
شما باید فیلدتون رو بصورت identity تعریف کنید ، داستان از این قرار هست که کلید اصلی باید در relation ها با جداول دیگر ایفای نقش کنه و فیلدهای دیگری در جداول دیگر با همین فیلد مرتبط خواهند بود (کاربردش همین هست)
ضمنا ، شما نباید از فیلد کلیدتون بعنوان شماره ردیف استفاده کنید که نگران بهم ریختگیش باشید.

SajjadStr
دوشنبه 25 شهریور 1398, 12:07 عصر
خیلی ممنون از راهنمایتون