مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

غیر فعال کردن و درج

  • شنبه 20 خرداد 1396
  • 21:29
تشکر میکنم

با سلام.

می خوام تمامی رکوردهای موحود غیر فعال شوند و سپس همان رکوردها دوباره با مقداری جدید insert شوند. کد زیر رو نوشتم:

var stu = from m in talash.Tbl_StudentPayeh select m;
            Tbl_StudentPayeh sp = new Tbl_StudentPayeh();
            for (int i = 0; i < stu.Count(); i++)
            {
                int co = stu.Count();
                string StuID = stu.ToArray()[i].StudentID_UserID_;
                byte pID = stu.ToArray()[i].PayehID;
                pID += 1;
                stu.ToArray()[i].Active = false;

                sp.StudentID_UserID_ = StuID;
                sp.PayehID = pID;
                sp.Active = true;
                talash.Tbl_StudentPayeh.Add(sp);
                talash.SaveChanges();
            }

مشکل اینجا است که رکوردی جدید که ثبت می شود دوباره به تعداد رکوردهای جدید این عملیات انجام می شود.

مقلا اگر 214 رکورد داشته باشیم و سپس یک رکورد درج کنیم حلقه for بر اساس 215 رکورد می شود و به همین ترتیب جلو می رود و پایانی نخواهد داشت

لطفا راهنمایی نمایید

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 21 خرداد 1396
  • 10:00

ابتدا عملیات ویرایش را انجام دهید و SaveChanges کنید و بعد رکورد جدید را درج کنید

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 21 خرداد 1396
  • 12:15

با تشکر از استاد محترم

مشکل من عملیات ویرایش و درج نیست. این عملیات انجام می شود.

من 214 رکورد دارم که مقدار فیلدی از نوع عددی است. می خواهم تمام رکوردها را غیر فعال کنم و سپس همین رکوردها را با مقدار جدید فیلد عددی درج کنم

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

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 21 خرداد 1396
  • 13:15

حلقه باید قبل از درج رکورد جدید اجرا بشه

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 21 خرداد 1396
  • 14:17

با تشکر

یعنی بوسیله یک حلقه ابتدا تمام رکوردها را غیر فعال کنم و بوسیله حلقه دیکری درج کنم؟

اگر درست است آیا راه سریعتری وجود ندارد؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 21 خرداد 1396
  • 16:31

فعلا تنها راه حلی که ذهنم رسید اینه

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 21 خرداد 1396
  • 18:59

با تشکر از استاد محترم

استاد وقتی رکوردها تمام می شه 10 تا رکورد اول رو همین کار را براشون انحام میده

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 21 خرداد 1396
  • 20:02

متوجه منظورتون نشدم

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 21 خرداد 1396
  • 21:20

درست شد

ممنون

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)