ورود

View Full Version : سوال: رعایت ترتیب در ID؟



hamid1988
چهارشنبه 07 مرداد 1388, 15:44 عصر
با سلام....
دیتابیسی دارم که کلید اصلی آن ID از نوع AutoNumber هست و از آن به عنوان ترتیب استفاده می کنم...
فرض کنین 20 رکورد دارم که آی دی ها از 1 تا 20 هست...حالا وقتی مثلاَ رکورد 10 ام رو پاک می کنم، می خوام ترتیب رعایت بشه و از رکورد یازدهم به بعد همه ی Id ها یکی کم شه...
ممنون

مشتاق یادگیری
چهارشنبه 07 مرداد 1388, 22:20 عصر
با سلام....
دیتابیسی دارم که کلید اصلی آن ID از نوع AutoNumber هست و از آن به عنوان ترتیب استفاده می کنم...
فرض کنین 20 رکورد دارم که آی دی ها از 1 تا 20 هست...حالا وقتی مثلاَ رکورد 10 ام رو پاک می کنم، می خوام ترتیب رعایت بشه و از رکورد یازدهم به بعد همه ی Id ها یکی کم شه...
ممنون
با سلام
دوست عزیز فکر می کنم در حالت عادی این امکان وجود ندارد
در صورت مهم بودن موضوع برایتان باید تی بل را مجدد بسازید (با کوری ا÷ند کنید) یا از فیلد نوع دیکر با استفاده از ایجاد شمارنده ترتیبی که دوستان در تای÷ک های دیگر بجث کردند

hamid1988
پنج شنبه 08 مرداد 1388, 23:15 عصر
به نظر شما چطور ترتیب رو در دیتا گرید ویو نشون بدم؟

mehdi.mousavi
پنج شنبه 08 مرداد 1388, 23:36 عصر
با سلام....
دیتابیسی دارم که کلید اصلی آن ID از نوع AutoNumber هست و از آن به عنوان ترتیب استفاده می کنم... فرض کنین 20 رکورد دارم که آی دی ها از 1 تا 20 هست...حالا وقتی مثلاَ رکورد 10 ام رو پاک می کنم، می خوام ترتیب رعایت بشه و از رکورد یازدهم به بعد همه ی Id ها یکی کم شه...
ممنون

سلام.
وقتی ID رو Identity میذارید، معنیش اینه که این ID (شناسه) هرگز تغییر نخواهد کرد. اگر تغییر کنه، فبلدهای مرتبط با رکود تغییر یافته هم باید Update بشن که خوب، این چرخه اینقدر باید ادامه پیدا کنه تا کلیه رکوردها در همه جداول مرتبط، Update بشن. و چنین چیزی مطلقا صحیح نیست.

شما وقتی از جدول Query می کنید، میتونید تو Query خودتون یک ستون به اسم RowNumber (بصورت Derived Column) بسازید، و شماره ردیفها رو برگردونید.

اما اینکار بازهم صحیح نیست. شما در DataGridView میتونید به روشهای دیگه ای عمل کنید. یکی از این روشها رو میتونید اینجا بخونید. (http://209.85.229.132/search?q=cache:o6CtjUWRCdkJ:www.danielsoper.com/programming/DataGridViewNumberedRows.aspx+datagridview+row+num ber&cd=1&hl=en&ct=clnk)

موفق باشید.