-
תגובה: מעבר מאקסס לתוכנה שולחנית רגילה
אם בניתי כבר טופס גרפי שנראה כמו זה, איך אני מפיח בו חיים, אני מתכוון איך אני מקשר ב SQL או מה שלא יהיה, את התיבת טקסט לרשומה במסד נתונים? איך אני מגדיר לו שיעדכן את הרשומה לפי מזהה?
נ.ב. אני מקווה שאני מספיק ברור, אם לא תגידו לי.
-
לא ענית לגבי WinForms. אני אסביר, אתה בחרת בWindows Forms שזה הפטלפורמה החלונאית הישנה של דוטנט.
יש פלטפורמה חדשה בשם WPF שאני ממליץ עליה כי שמה יש לך קלות עיצוב גדולה בהרבה.בינתיים נענה על הקיים - WinForms.
שלב א: תוסיף Data Source לפרוייקט:- בתפריט Project בחר בAdd New Data Source...
- באשף בחר בDataBase ואח"כ DataSet. בחר בNew Connection והזן את פרטי מסד האקסס.
- בעת לחיצה על Next תישאל אם להעתיק לפרוייקט את מסד הנתונים, בינתיים תענה שלא.
- סמן את האפשרות לשמור את מחרוזת החיבור (Connection String) בקובץ התצורה (Application Config).
- בחר את תיבות הסימון של Tables וViews וסיים את האשף.
שלב ב: תוסיף את הפקדים לטופס:
- בצע בניה (Build) של הפרוייקט - בתפריט Build בחר בBuild Solution
- בחלונית הפקדים בצד שמאל יתווספו תחת מקטע של Xxx Components (הXxx זה שם הפרוייקט) כמה פקדים (כמספר הטבלאות במסד הנתונים).
- גרור לטופס את הפקד ששמו הXxxxxDataSet וגם את פקד XxxxTableAdapter (כאשר הXxxx זה שם הטבלה הרצויה).
- הוסף פקד נוסף בשם BindingSource מהמקטע Data.
בחר את הפקד BindingSource שהוספת זה עתה, בחלונית המאפיינים פתח את התיבה הנפתחת של הDataSource שלו ותחת Form1 List Instance בחר בXxxDataSet שלנו. במאפיין DataMember בחר בטבלה הרצויה.
שלב ג: איגוד הפקדים שיצרת לנתונים
- בחר בפקד שיצרת כמו תיבת טקסט של שם פרטי
- בחלון המאפיינים הרחב את המקטע DataBindings ובמאפיין Text פתח את התיבה הנפתחת הרחב שם את הBindingSource ותחתיו בחר בשדה הרצוי בטבלה.
- חזור על הפעולה על כל פקד רצוי.
שלב ד: טעינת הנתונים דרך הקוד
- לחץ על F7 למעבר לקוד
- עבור לאירוע טעינה ע"י בחירה בתיבה האמצעית למעלה בForm Events ובתיבה הימנית בLoad.
- בתוך הפרוצדורה הוסף את השורות הבאות:
XxxxTableAdapter1.Fill(XxxxxDataSet1.Xxxx)
כמובן שבמקום הXxxx יהיה את מה שמתאים למקרה שלך. שים לב באחרון שזה יהי הטבלה הרלוונטית.
שלב ה: שמירת נתונים
- לחץ לחיצה כפולה על לחצן השמירה כדי לנווט למטפל האירוע שלו
- הוסף שמה את הקוד הבא:
BindingSource1.EndEdit() XxxxTableAdapter1.Update(XxxxxDataSet1.Xxxx)
כעת תוכל להריץ ולראות אם זה עובד.
נשאר לך לתהות איך לקבוע את השורה הנוכחית לשורה מסויימת לפי ID או ליצור שורה חדשה.
השאלה איך אתה מעוניין לעשות את זה מבחינת ממשק, לכן לא סיפקתי לך תשובות על זה.השימוש בפקדים המוכנים של מקרוסופט גורם לתחושה מאוד "אקססית" של פלאים שלא יודעים מה עומד מאחוריהם, אבל אחרי זמן מה של שימוש והעמקה מבינים הכל.
-
אני כבר באמצע העבודה, מתקדם לאט לאט, הרבה בזכות עזרתם של חברי הפורום היקרים בין כאן ובין בפרטי.
רציתי לבקש, אם מישהו מכיר פרויקט VS לשליפת ועידכון נתונים למסד אקסס, והוא יכול להביא לי אותו, כי ככה יהיה לי הרבה יותר קל ללמוד את זה, עם המחשות מעשיות, תודה!
-