השגיאה הזאת בעצם אומרת, אני לא יודעת מה קרה, אבל תכלס לא נעשו שינויים במסד אפי' שלטעמי היו צריכים להיעשות.
במקרה זה היא מצביעה שהייתה שורה אחת שאמורה להיות מושפעת, ובכל אופן המסד אמר ש0 שורות הושפעו.
מה שחשוב לראות זה מה קרה באמת במסד, ייתכן שפשוט מנסים למחוק פעמיים אותה שורה וכו'.
כדאי גם לעקוב אחרי שורה ספציפית ולראות את מצבה לפני הUpdate. מצבה אני מתכוון לRowState שלה.
במקרה זה הבדיקה תהיה ע"י BreakPoint בשורת הUpdate, וכתיבה ב Immediate window:
? dts.childarenTable.GetChange().Rows[0].RowState
בנוסף, הערה על הקוד שלך:
עשית לולאה מאוד טריקית. היא מוחקת כל פעם שורה ראשונה, ועושה זאת שוב אם ישנם עוד שורות.
היא גם מפעילה על כל איטרציה פעמיים פונקציה GetXXXRows.
דרך טבעית יותר זה ככה:
foreach (var row in teudaLetipul.GetGetParentTableRows())
{
item.Delete();
}
פורסם במקור בפורום CODE613 ב18/12/2013 20:38 (+02:00)