שאלה טובה ../images/Emo13.gif
אתה לא מעביר את כל ה-DataTable בתור פרמטר... את זה ADO.NET עושה בשבילך. כשאתה עושה Update, מה שבעצם קורה זה שהאדפטר עובר שורה שורה בטבלה שלך, ועבור כל שורה הוא מריץ את הפקודה המתאימה - InsertCommand בשביל שורות חדשות, UpdateCommand בשביל שורות ששונו, ו-DeleteCommand בשביל שורות ש"נמחקו". כמו כן, לפני הרצת הפקודה עבור כל שורה, הוא ממלא את הערכים של הפרמטרים של הפקודה, עם הערכים של השורה. איך הוא יודע איזה ערכים לשים
ובכן, לכל SqlParameter יש מאפיין שנקרא
SourceColumn, שמציין את השם של העמודה שממנה יש לקחת את הערך של הפרמטר. ADO.NET בודקת מהי העמודה ש-
SourceColumn מצביע עליה, לוקחת את הערך של העמודה בשורה הנוכחית, שמה אותו בתוך ה-Value של ה-SqlParameter, ומבצעת (ExecuteNonQuery) את הפקודה
זה נושא די רחב, ואחד המקומות שמרחיבים עליו הוא ה-
MSDN.