שמואל ורחמים ClickOne, הקוד שלכם לא טוב.
הDefault Value יהיה הזמן בו הרצתם את הקוד הזה גם לשורות שנוצרו שלוש שעות אחרי כן.
ובכלל שמואל אתה שאלת שתי שאלות ממש לא קשורות!
א. איך להתגבר על השגיאה של NullValue
ב. איך להשים בעמודת תאריך את תאריך יצירת השורה, ללא כתיבה מפורשת בכל פעם שנוצרת שורה.
על השאלה הראשונה ClickOne (מהדורא קמא.. לא הקוד) ענה מעולה עם המצב עיצוב של הDS. אם כי המעלה בקוד שלכם (מביניהם הטוב הוא האחרון של רחמים) שההגדרה נשארת במקרה יצירת הDS מחדש.
על השאלה שנייה אני עניתי לעיל, יעויין שם (קוד בן שורה שמוקפץ באירוע יצירת שורה).
@רחמים
עד כעת נוצר לי ה DataSet ע''י אשף שנפתח לאחר שהוספתי לפרוייקט את המסד נתונים, ובאמת יצר את כל המחלקות הרבות שלו, וזה מה שאתה קורה TypedDataSet ?
כן, ואפשר לומר שאתה די צריך את הTypedDataSet בגלל הבינדינגים מבוססי השם. אם כי בכל מקרה חסר לך עדיין את הINotifyPropertyChange שדי נחוץ במקרים כאלו, אז אכן תשקול לוותר על שירותיו של האשף הנחמד, אם ממילא תכתוב קלאסים להכל (כפי שעושים שמואל וארכיטקט יעויין באשכול בו הם שוחחו).
@רחמים
אז איך אני יוצר DataSet רגיל בלא כל הבלגאן ?
Dim dataSet = New DataSet
פשוט, אהה?
וככה מוסיפים טבלה:
dataSet.Tables.Add("MYTABLE")
ובדרך כלל לא עושים זאת, כי האדפטר שממלא את הטבלה גם יוצר אותה אם היא לא נמצאת:
Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM MYTABLE", New OleDbConnection(ConnStr))
da.SelectCommand.Connection.Open()
'ע"י פקודה זו נוצרים בדטה סט כל הטבלאות + ממולאים בנתונים
da.Fill(dataSet)
da.SelectCommand.Connection.Close()
ובדיוק הרעיון שקורה כאן, שבמיקרוסופט הפיצ'ר מוכר יותר מהבסיס, זה הייתה תלונתו של magicode. אבל בכל אופן אין כמו MS....
פורסם במקור בפורום CODE613 ב22/01/2014 11:35 (+02:00)