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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. #dateTimePicker - C

#dateTimePicker - C

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 4 כותבים 366 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב לmekev ב נערך לאחרונה על ידי dovid
    #2

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

    עריכה: יש להבחין בין ערך מקורי של המסד לבין ערך מקורי של הפקד (בברירת מחדל אני רואה שזה תאריך נוכחי). בשביל לדעת בכלל אם הייתה התערבות משתמש נראה לי שקביעת ערך המאפיין Checked = false יכולה לעזור לקבוע אם המשתמש בחר תאריך (אמור להפוך כנראה לtrue).

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

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

    M תגובה 1 תגובה אחרונה
    2
    • M מנותק
      M מנותק
      mekev
      השיב לdovid ב נערך לאחרונה על ידי
      #3

      @dovid
      זה הקוד שכתבתי

      string oo = dataGridView2.CurrentRow.Cells["מזהה"].Value.ToString();
      
              DateTime x1 = dateTimePicker1.Value;
              DateTime x2 = dateTimePicker2.Value;
              DateTime x3 = dateTimePicker3.Value;
              DateTime x4 = dateTimePicker4.Value;
              DateTime x5 = dateTimePicker5.Value;
              
      
              string y1 = x1.ToString("yyyy-MM-dd");
              string y2 = x2.ToString("yyyy-MM-dd");
              string y3 = x3.ToString("yyyy-MM-dd");
              string y4 = x4.ToString("yyyy-MM-dd");
              string y5 = x5.ToString("yyyy-MM-dd");
              
      
              con.Open();
              SqlCommand cmd = con.CreateCommand();
              cmd.CommandType = CommandType.Text;
              cmd.CommandText = $"UPDATE tabel SET  תאריך 1 = '{y1}', תאריך 2 = '{y2}',תאריך 3 = '{y3}',תאריך 4 = '{y4}',תאריך 5 = '{y5}' WHERE מזהה = " + oo + "";
              cmd.ExecuteNonQuery();
              con.Close();
      
      dovidD תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לmekev ב נערך לאחרונה על ידי
        #4

        @mekev זה הקוד של העדכון.
        מה הקוד של הטעינה? כלומר בשלב שלפני שהמשתמש מעדכן, אתם טוענים לפקדים האלו את התאריכים הקיימים במסד, או לא?

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

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

        M תגובה 1 תגובה אחרונה
        0
        • M מנותק
          M מנותק
          mekev
          השיב לdovid ב נערך לאחרונה על ידי
          #5

          @dovid
          לא טוען כלום
          נמצא על ברירת מחדל

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

            @mekev תגדירו את כל הפקדים שהמאפיין Checked שלהם יהיה false, ותעדכנו את הקוד לככה:

            string id = dataGridView2.CurrentRow.Cells["מזהה"].Value;
            
            var y1 = dateTimePicker1.Checked ? dateTimePicker1.Value.ToString("yyyy-MM-dd") : null;
            var y2 = dateTimePicker1.Checked ? dateTimePicker2.Value.ToString("yyyy-MM-dd") : null;
            var y3 = dateTimePicker1.Checked ? dateTimePicker3.Value.ToString("yyyy-MM-dd") : null;
            var y4 = dateTimePicker1.Checked ? dateTimePicker4.Value.ToString("yyyy-MM-dd") : null;
            var y5 = dateTimePicker1.Checked ? dateTimePicker5.Value.ToString("yyyy-MM-dd") : null;
            
            
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = $"UPDATE tabel SET  תאריך 1 = '{y1:yyyy-mm-dd}', תאריך 2 = '{y2}',תאריך 3 = '{y3}',תאריך 4 = '{y4}',תאריך 5 = '{y5}' WHERE מזהה = " + id + "";
            cmd.ExecuteNonQuery();
            con.Close();
            

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

            '{y1:yyyy-mm-dd}'
            

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

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

            י תגובה 1 תגובה אחרונה
            2
            • י מנותק
              י מנותק
              יהושע
              השיב לdovid ב נערך לאחרונה על ידי
              #7

              @dovid
              היי שלום אני כאן חדש אבל יש לי הרבה נסיון בC#
              מה שאתה צריך לעשות זה מאוד פשוט.
              צריך לשונת את הפומט של הDateTimePircr שיוכל לגם לקבל פורמט מותאם אישית ז"א שיהיה אפשר לאתחל את הTIME בכל סוג של פורמט. ואז פשוט להגדיר את הזמן ל " "

              dateTimePicker1.Format=DateTimePickerFormat.Custom;
                          dateTimePicker1.CustomFormat = " ";
              

              את הקוד הזה לשים בתוך הform_load לכל control
              וזה בעצם מאתחל את picker k" "

              מקווה שהסברתי את עצמי טוב.
              אם יש שאלה הינך מוזמן לשאול כאן

              yossizY י 2 תגובות תגובה אחרונה
              1
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב ליהושע ב נערך לאחרונה על ידי
                #8

                @יהושע אמר ב#dateTimePicker - C:

                @dovid
                היי שלום אני כאן חדש אבל יש לי הרבה נסיון בC#

                שלום עליכם @יהושע,
                מקווה שתהנה ותתרום הרבה לפורום
                יש לך טעות קטנה, האיש שתייגת (@dovid) הוא לא השואל פה. ואגב, גם לו יש המון נסיון ב-#C 🙂
                (חוץ מזה, נראה שהשואל כבר קיבל תשובה מספיקה)

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                י תגובה 1 תגובה אחרונה
                2
                • י מנותק
                  י מנותק
                  יהושע
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #9

                  @yossiz אני עדיין לא יודע איך משמשים בדיוק פה..
                  אבל אני בכל מקרה נסיתי לעזור
                  והפיתרון שלי בדוק

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

                    @יהושע אמר ב#dateTimePicker - C:

                    יש לי הרבה נסיון בC#

                    אני בונה כבר כשנה(!!) פרויקט בC#.
                    תוכנה מאוד גדולה לניהול של גמ"ח כספי.
                    אני מסיים כבר עוד מעט
                    אני אעלה את זה בעז"ה לgithub

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

                      @יהושע הפתרון שלך לא עונה על השאלה.
                      הקוד הבא ממחיש את הבעיה:

                      var dateTimePicker1 = new DateTimePicker(); 
                      dateTimePicker1.Format = DateTimePickerFormat.Custom;
                      dateTimePicker1.CustomFormat = " ";
                      Console.WriteLine(dateTimePicker1.Value); 
                      //RESULT: 06/05/2021 19:35:27
                      

                      השואל/ת רצה שכל עוד המשתמש לא ביצע בחירת תאריך, התוצאה תהיה null ולא שום תאריך.

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

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

                      תגובה 1 תגובה אחרונה
                      0
                      • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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