דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. DataSet NullValue

DataSet NullValue

מתוזמן נעוץ נעול הועבר ארכיון code613m
37 פוסטים 4 כותבים 2.3k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    שמואל
    כתב ב נערך לאחרונה על ידי
    #1

    כידוע דטה סט לא מקבל ערכי NULL לכן יש צורך לעדכן ערך ברירת מחדל לכל שדה כדי שהוא לא יתקל בשגיאה זו
    מישהוא יודע איך ניתן לקבוע ערך ברירת מחדל לתאריך [u:572hjv5a]נוכחי[/u:572hjv5a] דרך הדיזיינר של הדטה סט (לא בקוד)
    חיפשתי ע"ז ולא מצאתי אולי מכאן תגיע הישועה

    פורסם במקור בפורום CODE613 ב20/01/2014 19:04 (+02:00)

    תגובה 1 תגובה אחרונה
    0
    • רחמיםר מנותק
      רחמיםר מנותק
      רחמים מורחק
      כתב ב נערך לאחרונה על ידי
      #2

      אני מושך טבלאות מה MDF לתוך הדטה סט וכמעט כל השדות הם עם ערכי NULL בברירת מחדל, מה אתה עושה שאתה מקבל שגיאה ?

      פורסם במקור בפורום CODE613 ב20/01/2014 19:11 (+02:00)

      תגובה 1 תגובה אחרונה
      0
      • ש מנותק
        ש מנותק
        שמואל
        כתב ב נערך לאחרונה על ידי
        #3

        אני באמת לא מייבא בגרירה
        איך הגעת למצב שהMDF כבר מיובא לפרוייקט אבל לא כדטה סט?
        חוץ מזה אני מחובר לבסיס נתונים של אקסס

        פורסם במקור בפורום CODE613 ב20/01/2014 19:28 (+02:00)

        תגובה 1 תגובה אחרונה
        0
        • רחמיםר מנותק
          רחמיםר מנותק
          רחמים מורחק
          כתב ב נערך לאחרונה על ידי
          #4

          פשוט מאוד:
          אתה ניגש לתפריט פרוג'קט, הוסף פריט חדש, בוחר מסד MDF ואז הוא כבר לבד פותח את האשף של הדטה סט אחר שסיימת ליצור את הדטה סט אתה יוצר טבלאות קשרי גומלין ושאילתות ב MDF ומושך אותם לתוך הדטה סט אחר כך אתה מושך מהדטה סורסס את הטבלאות לטופס וזהו בחמש דקות בנית תוכנה 🙂

          הערה חשובה: אם הגדרת ערכי ברירת מחדל עבור שדות מסויימים בטבלאות ה MDF צריך להגדיר זאת שוב בתוך הדטה סט במאפיינים של אותו שדה, כיון שהדטה סט לא יודע לקורא את כל המאפיינים של כל שדה שהוא מתקשר איתו ב MDF.

          פורסם במקור בפורום CODE613 ב20/01/2014 19:34 (+02:00)

          תגובה 1 תגובה אחרונה
          1
          • clickoneC מנותק
            clickoneC מנותק
            clickone
            כתב ב נערך לאחרונה על ידי
            #5

            אפשר שהדאטאסט יסכים לקבל NULL.
            לך למאפייני העמודה, ותחליף במאפיין NullValue את הערך (Throw exception) לערך (Nothing).
            אם זה מעצבן אותך לעשות את זה על כל עמודה אתה יכול לבחור את כל העמודות (עם שיפט) - ואז לשנות את הכל בבת אחת.

            פורסם במקור בפורום CODE613 ב21/01/2014 01:33 (+02:00)

            אין טסט כמו פרודקשן.

            המייל שלי urivpn@gmail.com

            תגובה 1 תגובה אחרונה
            1
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              כתב ב נערך לאחרונה על ידי
              #6

              לגבי ברירת מחדל, נראה שא"א כביטוי, תראה כאן מה אפשר לעשות.
              אני באופן אישי לא אהבתי את הדרך שם, כי כשתעדכן את הטבלה (או תמחק ותיצור מחדש) יש סיכוי שהDS ידרוס לך את הפונקצייה.

              פורסם במקור בפורום CODE613 ב21/01/2014 02:29 (+02:00)

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              תגובה 1 תגובה אחרונה
              0
              • רחמיםר מנותק
                רחמיםר מנותק
                רחמים מורחק
                כתב ב נערך לאחרונה על ידי
                #7

                אז מה יצא למסקנה? אם הדטה סט מחובר לאקסס הוא לא מקבל ערכי NULL ואם הוא מחובר ל MDF הוא כן מקבל?

                פורסם במקור בפורום CODE613 ב21/01/2014 07:07 (+02:00)

                תגובה 1 תגובה אחרונה
                0
                • clickoneC מנותק
                  clickoneC מנותק
                  clickone
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @רחמים

                  אז מה יצא למסקנה? אם הדטה סט מחובר לאקסס הוא לא מקבל ערכי NULL ואם הוא מחובר ל MDF הוא כן מקבל?

                  לא.
                  בכל מקרה אתה צריך לשנות את הNullValue, התלות אם יהיה אפשר ערכי NULL או לא, תלויה בהגדרת השדה אם הוא יכול לקבל ערכי NULL.

                  פורסם במקור בפורום CODE613 ב21/01/2014 08:30 (+02:00)

                  אין טסט כמו פרודקשן.

                  המייל שלי urivpn@gmail.com

                  תגובה 1 תגובה אחרונה
                  0
                  • רחמיםר מנותק
                    רחמיםר מנותק
                    רחמים מורחק
                    כתב ב נערך לאחרונה על ידי
                    #9

                    אבל אצלי שאני משתמש ב MDF המאפיין הNullValue מוגדר כ Throw exception
                    והמאפיין AllowDNNull מוגדר כ TRUE
                    והמאפיין DefaultValue מוגדר כ DNNull
                    והכל עובד מצויין ואין שגיאות שקופצות בשדות NULL
                    אני משתמש ב VS 2010 אם זה משנה.

                    פורסם במקור בפורום CODE613 ב21/01/2014 08:35 (+02:00)

                    תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @רחמים

                      אבל אצלי שאני משתמש ב MDF המאפיין הNullValue מוגדר כ Throw exception
                      והמאפיין AllowDNNull מוגדר כ TRUE
                      והמאפיין DefaultValue מוגדר כ DNNull
                      והכל עובד מצויין ואין שגיאות שקופצות בשדות NULL
                      אני משתמש ב VS 2010 אם זה משנה.

                      אם אתה פונה למאפיין של DataRow שלא אוכלס אתה בהכרח מקבל שגיאה.

                      @ClickOne

                      לגבי ברירת מחדל, נראה שא"א כביטוי, תראה כאן מה אפשר לעשות.
                      אני באופן אישי לא אהבתי את הדרך שם, כי כשתעדכן את הטבלה (או תמחק ותיצור מחדש) יש סיכוי שהDS ידרוס לך את הפונקצייה.

                      נכון.
                      הדרך הנכונה לדעתי זה ללכוד באירוע שורה חדשה ולהשים את הערך:

                      dataSetInstant.TableName.TableNewRow += (s, e) => { e.Row("DateInsert") = Now; };
                      

                      פורסם במקור בפורום CODE613 ב21/01/2014 10:59 (+02:00)

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      1
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        כתב ב נערך לאחרונה על ידי
                        #11

                        @ClickOne

                        אפשר שהדאטאסט יסכים לקבל NULL.
                        לך למאפייני העמודה, ותחליף במאפיין NullValue את הערך (Throw exception) לערך (Nothing).
                        אם זה מעצבן אותך לעשות את זה על כל עמודה אתה יכול לבחור את כל העמודות (עם שיפט) - ואז לשנות את הכל בבת אחת.

                        לערכים לא סטרינגיים (כמו תאריך) א"א לקבוע Empty או Nothing. אז צריך לשים ערך כל שהוא. וזה א"א עם Shift...

                        פורסם במקור בפורום CODE613 ב21/01/2014 11:38 (+02:00)

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        1
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          כתב ב נערך לאחרונה על ידי
                          #12

                          עוד הערה:
                          כאלה שמשתמשים הרבה עם הTypedDataSet, יכולים לשקול לרשת את הDS+DT+DR. ולקסטם אותם.
                          זה ממש נוח, ולא נמחק בייבוא מחדש וכדומה.
                          כל דבר שלא רוצים לקסטם, לא צריך לכתוב לו קוד.

                          פורסם במקור בפורום CODE613 ב21/01/2014 11:48 (+02:00)

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          0
                          • רחמיםר מנותק
                            רחמיםר מנותק
                            רחמים מורחק
                            כתב ב נערך לאחרונה על ידי
                            #13

                            @דוד ל.ט.

                            אם אתה פונה למאפיין של DataRow שלא אוכלס אתה בהכרח מקבל שגיאה.

                            יש מקומות בקוד שאני עובר בלולאת For Each על כל השורות ולא מקבל שום שגיאה, אלא אם שדה מסויים ריק הוא מחזיר DBNULL.

                            פורסם במקור בפורום CODE613 ב21/01/2014 13:18 (+02:00)

                            תגובה 1 תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              כתב ב נערך לאחרונה על ידי
                              #14

                              @רחמים

                              @דוד ל.ט.
                              אם אתה פונה למאפיין של DataRow שלא אוכלס אתה בהכרח מקבל שגיאה.

                              יש מקומות בקוד שאני עובר בלולאת For Each על כל השורות ולא מקבל שום שגיאה, אלא אם שדה מסויים ריק הוא מחזיר DBNULL.

                              אתה טועה או בנתונים שסיפקת, או בעובדה זו עצמה.

                              פורסם במקור בפורום CODE613 ב21/01/2014 14:03 (+02:00)

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              תגובה 1 תגובה אחרונה
                              0
                              • רחמיםר מנותק
                                רחמיםר מנותק
                                רחמים מורחק
                                כתב ב נערך לאחרונה על ידי
                                #15

                                האם הקוד הבא אמור לקבל שגיאה?
                                ME=מחלקה שיורשת מדטה גריד

                                Dim DTable As DataTable = DirectCast(Me.DataContext, CollectionViewSource).Source
                                Dim SB As New StringBuilder
                                For Each Row As DataRow In DTable.Rows
                                    Dim RowSB As New StringBuilder
                                    For Each Item In Row.ItemArray
                                        RowSB.Append(Item.ToString & ", ")
                                    Next
                                    SB.AppendLine(RowSB.ToString)
                                Next
                                

                                פורסם במקור בפורום CODE613 ב21/01/2014 20:24 (+02:00)

                                תגובה 1 תגובה אחרונה
                                0
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  כתב ב נערך לאחרונה על ידי
                                  #16

                                  @רחמים

                                  האם הקוד הבא אמור לקבל שגיאה?

                                  לא, הקוד לא אמור לזרוק שגיאה.
                                  אתה ממיר כל שורה לDataRow רגיל.
                                  אם תמחק את המילים As DataRow והטיפוס יישאר TypedDataRow הוא יזרוק שגיאה.

                                  פורסם במקור בפורום CODE613 ב21/01/2014 21:02 (+02:00)

                                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • רחמיםר מנותק
                                    רחמיםר מנותק
                                    רחמים מורחק
                                    כתב ב נערך לאחרונה על ידי
                                    #17

                                    מחקתי כמו שאמרת ולא קפצה שום שגיאה.

                                    פורסם במקור בפורום CODE613 ב21/01/2014 21:53 (+02:00)

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      כתב ב נערך לאחרונה על ידי
                                      #18

                                      @רחמים

                                      מחקתי כמו שאמרת ולא קפצה שום שגיאה.

                                      נכון, כי זה עדיין DataRow... רק כעת שמתי לב שלמעלה כתבת As DataTable... במקום DataTable תכתוב את שם הTypedDataTable שלך.
                                      זה אמור להיראות ככה: XxxxDataSet.XxxxDataTable. במקום הX יהיה לך את שם הDS והטבלה בהתאמה.

                                      פורסם במקור בפורום CODE613 ב21/01/2014 21:58 (+02:00)

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • רחמיםר מנותק
                                        רחמיםר מנותק
                                        רחמים מורחק
                                        כתב ב נערך לאחרונה על ידי
                                        #19

                                        עשיתי ככל אשר אמרת, ועדיין לא קפץ 😉

                                        פורסם במקור בפורום CODE613 ב21/01/2014 22:02 (+02:00)

                                        תגובה 1 תגובה אחרונה
                                        1
                                        • dovidD מנותק
                                          dovidD מנותק
                                          dovid ניהול
                                          כתב ב נערך לאחרונה על ידי
                                          #20

                                          נכון, אני שוטה לגמרי. בItemArray לא תהיה לך שגיאה אף פעם.
                                          הבעיה זה בגישה למאפיינים.
                                          אם תכתוב: Dim a = Row.FieldName בהנחה שFieldName הוא ריק, תקפוץ לך שגיאה.
                                          ואל תטרח לומר לי אם זה עבד לך...

                                          פורסם במקור בפורום CODE613 ב21/01/2014 22:09 (+02:00)

                                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                          תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום