-
שפת תכנות: C# winform, מסד נתונים SQL
יש לי טבלת היסטוריית מוצרים
(כל פעם שמעדכנים את רשומת הפריט,
לפני העדכון - אני מעתיק את השורה הנוכחית לטבלה נפרדת לתיעוד היסטוריה)
אני מעוניין להציג למשתמש את היסטוריית השינויים שבוצעו בפריט
האפשרות הפשוטה היא להציג את כל הטבלה
אבל זה מצריך 'מאמץ' למשתמש להשוות שורה- שורה ולאתר עצמאית מה השינויים שבוצעו
(הנ"ל דוגמא, בטבלה אצלי ישנם יותר עמודות משמעותית)התוצאה שאני מחפש זה להציג אך ורק את השינויים
לדוגמא:

אשמח לעצתכם וניסיונכם
כיצד לגשת לפתרון(מה שעולה לי בראש זה בכיוון של לולאה
האם זה הכיוון הנכון? זה משהו שמעמיס מאוד על המערכת?
האם ישנם כלים/ספריות מוכנים?
או שבכלל צריך לשמור מראש את השינויים בצורה שונה שתאפשר את השליפה הנ"ל) -
שפת תכנות: C# winform, מסד נתונים SQL
יש לי טבלת היסטוריית מוצרים
(כל פעם שמעדכנים את רשומת הפריט,
לפני העדכון - אני מעתיק את השורה הנוכחית לטבלה נפרדת לתיעוד היסטוריה)
אני מעוניין להציג למשתמש את היסטוריית השינויים שבוצעו בפריט
האפשרות הפשוטה היא להציג את כל הטבלה
אבל זה מצריך 'מאמץ' למשתמש להשוות שורה- שורה ולאתר עצמאית מה השינויים שבוצעו
(הנ"ל דוגמא, בטבלה אצלי ישנם יותר עמודות משמעותית)התוצאה שאני מחפש זה להציג אך ורק את השינויים
לדוגמא:

אשמח לעצתכם וניסיונכם
כיצד לגשת לפתרון(מה שעולה לי בראש זה בכיוון של לולאה
האם זה הכיוון הנכון? זה משהו שמעמיס מאוד על המערכת?
האם ישנם כלים/ספריות מוכנים?
או שבכלל צריך לשמור מראש את השינויים בצורה שונה שתאפשר את השליפה הנ"ל)@mekev אמר בפילטור שינויים בלבד לתצוגת המשתמש:
או שבכלל צריך לשמור מראש את השינויים בצורה שונה שתאפשר את השליפה הנ"ל)
אכן. ככה מקובל בכל אופן. יוצרים טבלת "שינויים" שמכילה רק את השינויים.
בעת עדכון אתה עובר בלולאה על השדות ומשווה חדש לישן,
ההבדלים נכנסים לטבלה בסגנון כזה:
זמן, משתמש, [טבלה], שדה, ערך ישן, ערך חדש
העמודה טבלה אופציונלית להתאים לכלל הטבלאות במסד.הדרך הזאת מעבירה את ה"עבודה" משגרת הצפיה בשינויים (שהיא השימוש הרווח) למקרה של שחזור (שזה מקרה שאמור להיות פחות שכיח) בעת שחזור יצטרכו לעבוד יותר מהדרך שנקטת:
א. צריך לולאה כדי לייצר שורה מתאימה למה שהיה קודם
ב. הטיפוסים הם תמיד טקסטואליים (כי הערך ישן וחדש הם בהכרח מסוג טקסט להתאים לכל האפשרויות).אתה יכול לרקוד על כל החתונות עם שני טבלאות, אחת כמו שיש לך כעת לצורך שחזור נקודות זמן מהירים, ואחת טבלת "שינויים" בשביל צפיה נוחה בשינויים.
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות