@רחמים
- כאשר אני מריץ את התוכנית ומזין נתונים שונים בדטה-גרידים ושומר הכל במסד, סוגר פותח שוב הכל מופיע אבל אם אני עורך אי אלו שינויים ב MDF הרי שבפעם הבאה כאשר פותחים את התוכנה כל הנתונים מתאפסים, וזה קורה כי המסד שבתקיית הפלט הוחלף במסד מתקיית הפרוייקט, אז איך אפשר לשמור בכל זאת על כל הנתונים ? להחליף את הקונקשיין ? זה יסבך אתה כל.
תודה לכולם.
כשאתה בוחר את הקובץ בסייר הפיתרון, יש לך למטה הגדרה Copy To Output - תבחר שם Copy If Never - זה יגרום לIDE לא להעתיק אותו כל פעם אלא רק מתי שהוא לא נמצא בתיקיית הEXE.
@רחמים
- נאמר שכבר הלקוח קיבל את התוכנה וכעת הוא רוצה להוסיף למסד עוד טבלה או או להוסיף לטבלה קיימת עוד עמודה וכדומה, הרי אני לא יכול לעשות את זה אצלי ולשלוח לו אלא אני צריך את המסד שלו שכבר מלא בנתונים ושם לערוך שינויים, אז איך אני אכניס את המסד שלו לפרוייקט השמור אצלי ואוסיף לו שם את ההוספות הנ''ל.
כמובן שאת כל זה אפשר לפתור בדרכי הטריקים אבל אני מחפש דרך ישרה ופשוטה, שה VS תוכנן מלכתחילה ללכת בה.
תודה לכולם.
@ארכיטקט
אכן שאלה רצינית איך לטפל במסד נתונים, בפרט בתוכנת מדף זאת שאלה גדולה מאוד, אם רוצים לחסוך קוד, שמעתי פעם שיש פונקציה מוכנה שמשווה בין 2 מסדי נתונים ב sql server אבל לא יודע באמת אם להמר על זה.
במסדי נתונים לא יחסיים הבעיה הזאת לא מתחילה כמובן...
הפיתרון שלי כרגע, זה להחזיק טבלה מפלצתית שמכילה את כל המבנה של מסד הנתונים, זה אומר טבלה של טבלאות, טבלה של שדות, טבלה של מאפיינים (כל מאפיין שהוא לא ב default של המערכת, מקבל שורה שמכילה את שם המאפיין, ערך המאפיין, וקישור לשדה)
להגיד לך שזה ממלא את כל הציפיות שלי, לא ממש, ועל זה נאמר השם יעזור.
בהחלט יש את הפיתרון של ארכיטקט.
יש איזה פיתרון של VS, אבל זה משהו ביחד עם אשף הפריסה שלהם, - לא ממש התעסקתי עם זה.
הפיתרון שלי לעניין:
עשיתי בטבלת הSetting שדה שמחזיק את גירסת המסד האחרונה, במקביל, אני מחזיק קובץ (ובאקסס - טבלה מקומית ולא מקושרת) שמכילה עמודה של גירסה, וכן קוד SQL של שינוי מבני נתונים (נקרא גם DDL). - אתה יכול למצוא את הקוד של שינוי מבני הנתונים כשאתה עורך טבלה במנג'מנט, יש שם אפשרות לראות את הסקריפט SQL שמבצע את השינוי הזה.
אח"כ לכתוב פונקצייה שבודקת בDB בטבלה Setting מה גירסת הDB. במידה וזה קטן מהגירסה הנוכחית (אותה אתה יכול לשמור בהגדרות של התוכנה שלך, או במשתנה סטטי) אני מריץ שאילתת SQL בלופ, ואח"כ מעדכן בטבלה Setting את גירסת הDB החדשה.
זה עובד בהצלחה מדהימה כבר למעלה מ6 שנים, ואני לא חושש כלל להוסיף/ לשנות שדות - וגם להוסיף טבלאות.
לפני שאני ניגש לDB בפעם הראשונה אני מריץ את הפונצייה, ובא לציון גואל.....
בהצלחה!
פורסם במקור בפורום CODE613 ב09/01/2014 14:43 (+02:00)