PDA

View Full Version : سوال: id اتوماتیک با لینک



علی فتحی
جمعه 01 آبان 1394, 01:22 صبح
سلام من از این کد برای ردیف اتوماتیک استفاده کردم مشکلی که داره وقتی جدول خالی باشه اخطار میده .

df.id = (from i in db.Table1
select i.id).Max() + 1;

R_khaleghi
جمعه 01 آبان 1394, 08:14 صبح
سلام من از این کد برای ردیف اتوماتیک استفاده کردم مشکلی که داره وقتی جدول خالی باشه اخطار میده .

df.id = (from i in db.Table1
select i.id).Max() + 1;


چرا بجای متد Max از متد Count استفاده نمی کنید؟؟

var query = (from t in db.Table1s
select t).Count();

بعد از تعداد محاسبه کرد شما به یک جمع کنید و در هرچیزی که می خواهید نمایش دهید بایند کنید.

مثلا:
textbox1.Text = (query + 1).ToString();

am_al_59
جمعه 01 آبان 1394, 14:20 عصر
با اجازه استاد R_khaleghi
انشاالله که جسارت بنده رو ببخشن زیر پستشون پست زدم
اگر این عملیات برای id هست طبیعتاً ای دی باید یکتا باشه
اگر در دیتابیس سه رکورد باشه با ای دی هایی به ترتیب زیر
1
2
3
استفاده از count کامل جواب میده و خیلی هم ساده و عالی هست و نتیجه اجرای count+1 عدد 4 رو میده
اما اگر رکورد شماره 2 حذف بشه ترتیب رکوردها به همراه ای دی این شکلی میشه
1
3
نتیجه count+1 عدد 3 رو میده که نمیشه بعنوان ای دی استفاده کرد
دستور زیر در تمامی حالت ها کار میکنه


df.id = (from i in db.Table1 select i.id).ToList().DefaultIfEmpty(0).Max() + 1;

R_khaleghi
جمعه 01 آبان 1394, 23:24 عصر
با اجازه استاد R_khaleghi
انشاالله که جسارت بنده رو ببخشن زیر پستشون پست زدم
اگر این عملیات برای id هست طبیعتاً ای دی باید یکتا باشه
اگر در دیتابیس سه رکورد باشه با ای دی هایی به ترتیب زیر
1
2
3
استفاده از count کامل جواب میده و خیلی هم ساده و عالی هست و نتیجه اجرای count+1 عدد 4 رو میده
اما اگر رکورد شماره 2 حذف بشه ترتیب رکوردها به همراه ای دی این شکلی میشه
1
3
نتیجه count+1 عدد 3 رو میده که نمیشه بعنوان ای دی استفاده کرد
دستور زیر در تمامی حالت ها کار میکنه


df.id = (from i in db.Table1 select i.id).ToList().DefaultIfEmpty(0).Max() + 1;



این حرفا چیه
اتفاقا خیلی خوب شد که شما هم راهنمایی کردین. یچیزی هم یاد گرفتن