PDA

View Full Version : auto incre



halatkor
دوشنبه 17 بهمن 1384, 08:29 صبح
سلام
دوستان من در بانکی از خاصیت auto incre.. در فیلدی استفاده کردم که شماره ردیف
را به صورت اتوماتیک می زند .حال سئوال من وقتی در این بانک فرد خواصی را بخواهم
حذف بکنم مثلا شماره 20 را ترتیب هم به هم می خورد و می خواهم ردیف 21 به صورت
اتوماتیک 20 شود .
و سئوال دیگر اینکه من وقتی در بانک نام خواصی را جستجو کردم اگر 10 نام مشابه پیدا
شد یک ردیف اتومتتیک از 1 تا 10 ایجاد شود .

mzjahromi
دوشنبه 17 بهمن 1384, 08:42 صبح
اگر از Auto inc استفاده می کنی نمیتونی تغییری تو شماره ها بدی حتی اگه یه شماره بگیری و تراکنشت Rollback بشه بازهم دیگه اون شماره پریده

halatkor
دوشنبه 17 بهمن 1384, 09:22 صبح
میشه بیشتر توضیح بدهید

halatkor
دوشنبه 17 بهمن 1384, 22:14 عصر
لطفا ً کمک کنید خیلی ضروری است

mzjahromi
سه شنبه 18 بهمن 1384, 08:35 صبح
آخه چی رو بیشتر توضیح بدم .
شماا یه جستجو بکنید. یه تست بکنید
فیلد Auto Incriment تغییر دادنش دست شما نیست مدیریتش به عهده DBMS هست. و هیچ وقت یک شماره که به یک رکورد تخصیص داده شد دیگه به رکورد دیگه تخصیص داده نمیشه

mehranFX
سه شنبه 18 بهمن 1384, 09:38 صبح
یه فیلد عددی معمولی تعریف کن و مدیریت افزایش یا کاهش مقدار های اون رو خودت در برنامه به عهده بگیر !!!

halatkor
سه شنبه 18 بهمن 1384, 22:36 عصر
دوستان دیگر نظری ندارند .....؟

halatkor
چهارشنبه 19 بهمن 1384, 09:02 صبح
در انتظار >؟

دنیای دلفی
چهارشنبه 19 بهمن 1384, 11:33 صبح
شما باید یک فیلد از نوع محاسباتی تعریف و در Event مربوط به OnCalcolate بنویسید :
Table1.fieldbyname('radif').asinteger:=table1.recn o;

sasan_vm
چهارشنبه 19 بهمن 1384, 12:00 عصر
هر فیلد AutoInc را می توانی با این دستور SQL تغییر بدهی :


ALTER TABLE [TableName] ALTER COLUMN [FieldName] INTEGER IDENTITY(1, 1)


TableName نام جدول FieldName نام فیلد و مقدار اول در IDENTITY شروع برای رکورد بعدی
و مقدار دوم میزان افزایش برای هر رکورد می باشد. :لبخند:

halatkor
چهارشنبه 19 بهمن 1384, 12:47 عصر
از لطف شما ممنون هستم