PDA

View Full Version : مقدار دهی خاصیت Identity Seed از طریق برنامه



hedi
یک شنبه 12 آبان 1387, 16:17 عصر
سلام دوستان
خاصیت Identity Seed مربوط به فیلد های AutoNumber است که عدد مربوط به شروع را مشخص می کند اما این کار را فقط می توان از داخل خود SQL و محیط EnterPrise Manager مقدار دهی کرد من می خواستم بدونم که چگونه از طریق خود برنامه که داخل دلفی است یک Edit بگذارم و مقدار مربوطه را کاربر خودش مشخص کند و این عدد در همین خاصیت Identity Seed بشیند و مقدار دهی شود. این موضوع خیلی مهم حتی برای شما دوست عزیز چون فیلد های AutoNumber ی که از داخل خود DataBase تنظیم شوند در محیط شبکه هیچ وقت با تکرا مواجه نمی شوند و براساس سال کاری هم می توان عدد مربوط به آن ها را اعلام کرد و از آن عدد شروع شوند و پشت سرهم بیافتد مثل فاکتور های فروش که بالای آن ها یک شماره دارد و براساس سال کاری رقم آنها شروع می شود به طور مثال :871000 برای سال 87
از دوستان اگر کسی این موضوع را قبلا تجربه کرده تقاضا می کنم برای ارتقاء سطح دانش و بینش دیگر دوستان مساعدت لازم را بفرمایند و کمک خود را دریغ نکنند

vcldeveloper
یک شنبه 12 آبان 1387, 17:10 عصر
مقدار Identity Seed فقط زمانی قابل تغییر هست که در حال تغییر ساختار جدول باشید. برای تغییرش از طریق کد باید از دستور ALTER TABLE استفاده کنید. البته بعید می دونم اگر در فیلد Identity مورد نظر داده ایی ذخیره کرده باشید، دیگه بتونید مقدار Identity Seed آن را تغییر بدید، غیر از اینکه منظورتون این باشه که هر بار با CREATE TABLE یک جدول جدید بسازید.

hedi
دوشنبه 13 آبان 1387, 23:11 عصر
سلام بر جناب کشاورز
این جمله که فرموده بودید : " البته بعید می دونم اگر در فیلد Identity مورد نظر داده ایی ذخیره کرده باشید، دیگه بتونید مقدار Identity Seed آن را تغییر بدید " را بررسی کردم مشکلی وجود نداشت من می خواستم اگر ممکن است یک نمونه کدی که می تواند در ساختار جدول با همان دستور Alter Table این خاصیت را تغییر دهد را در این بخش قرار دهید

ghabil
دوشنبه 13 آبان 1387, 23:21 عصر
اینکار با استفاده از دستورات Database Console Command (DBCC)‎ قابل انجام هست .


DBCC CHECKIDENT ("TAbleName", RESEED, RESEEDVALUE);


طبیعتا مقدار نباید کمتر از مقادیر موجود در جدول باشه.

Refrence دستورات DBCC (http://msdn.microsoft.com/en-us/library/ms188796.aspx)