PDA

View Full Version : سوال: ایجاد کد برای فاکتور؟؟؟



mohsen gh
دوشنبه 15 فروردین 1390, 20:39 عصر
دوستان عزیز با استفاده از
count
میتونم یه شمارند تولید کنم ولی مشکل من اینجاست که اگه من یه یکی از فاکتور هارو حذف کردم باز به اندازه تمام رکوردها یه عدد تولید میکنه
مثلا اگه من 100 رکورد دارم ویکی از اونارو حذف کنم عدد 99 رو ایجاد میکنه که قبلا ایجاد شده ؟؟؟

shadi khanum
دوشنبه 15 فروردین 1390, 21:14 عصر
خوب از count استفاده نکن، فیلدت رو identity کن و بذار خودش کد ایجاد کنه.

mohsen gh
دوشنبه 15 فروردین 1390, 21:20 عصر
میشه یه کم بیشتر توضیح بدین ؟؟؟ آخه من مبتدیم

shadi khanum
دوشنبه 15 فروردین 1390, 22:36 عصر
ببینید موقعی که دیتابیس رو دارید طراحی میکنید ، میتونید یه فیلد رو از نوع int یا bignit تعریف کنید و توی property اون فیلد بگید که این فیلد از نوع identity باشه، یعنی خود دیتابیس موقعی که رکورد به اون جدول اضافه میکنه این فیلد رو مفدار دهی میکنه و مثلا یکی یکی میره بالا (1و2و3و...) یا میتونید اینکه seekش چندتایی باشه هم خودتون مشخص کنید مثلا 2 (1و3و5و...) که البته اصولا Seek رو همون 1 میذارن و شروعش رو هم از 1.
این فیلد قابل ویرایش یا update نیست و مدیریتش با خود SQL و تضمین میکنه که تکراری ایجاد نمیشه و موقعی که Row تو اون جدول insert میکنید نیاز به مقداردهی اون فیلد نیست و SQL خودش تولید میکنه و از اون برای update یا Search استفاده میشه و تکراری نیست (کلید جدول میذارنش)

mobtakercode
دوشنبه 15 فروردین 1390, 22:41 عصر
دوست عزیز چنانچه بخواهید از identity استفاده نکنید باید برای بدست آوردن عدد از دستور

select max(نام فیلد) from نام جدول

استفاده کنید و سپس به عدد بدست امده یکی اضافی کنید

shadi khanum
سه شنبه 16 فروردین 1390, 08:54 صبح
دوست عزیز چنانچه بخواهید از identity استفاده نکنید باید برای بدست آوردن عدد از دستور

select max(نام فیلد) from نام جدول

استفاده کنید و سپس به عدد بدست امده یکی اضافی کنید

SQL هم واسه فیلدهای identity همین کارو میکنه ، یعنی موقع insert ردیف تو جدول max اون فیلد رو میگیره و +1 میکنه که بهتر اینکارو بسپاریم به خود SQL تا اینکه خودمون max رو بگیریم و +1 کنیم. چون فیلد Identity حتما Unique ولی اگه خودمون اینکارو بکنبم امکان داره اگه دو تا Row همزمان insert بشن، Duplicate بشه