גלישת SqlDateTime. חייב להיות בין 1/1/1753 12:00:00 AM לבין
-
מישהו מכיר את הנושא? והאם זה אכן הפתרון היחיד להפוך כל עדכון לסטרינג?
ניסיתי לכתוב פונקציה שתחזיר ערך תאריך שעה "נקי" ממיליסקנדס:
public static DateTime now() { DateTime now = new DateTime(); now = DateTime.Now; now.AddMilliseconds(-now.Millisecond); return now; }
אבל זה ממש לא עובד (כלומר הוא מחזיר מילישניות בכל מקרה) לא יודע למה בינתיים כמעט אי אפשר לעדכן כלום בדטה בייס בגלל הבעיה הזאת.
פורסם במקור בפורום CODE613 ב07/06/2014 21:52 (+03:00)
-
זה מה שצריך לעשות ולוותר על מילי שניות:
public static DateTime DateTimeForDB(DateTime datetime) { return new DateTime(datetime.Year,datetime.Month,datetime.Day ,datetime.Hour ,datetime.Minute,datetime.Second); }
פורסם במקור בפורום CODE613 ב07/06/2014 23:16 (+03:00)
-
בקוד הראשון הייתה לך טעות פשוטה: now.Add לא משנה את התאריך עצמו, אלא מחזיר כזה חדש.
היית צריך לכתוב ככה:now = now.Add(-now.Milisecond)
לשם פתרונות נוספים (כולל שני אלה שהצעת...) ל"עיגול" תאריך למחיקת הMilisecond ראה כאן http://stackoverflow.com/q/1004698/1271037.
בבעיה בחיים לא נתקלתי, מאוד מעניין אותי רקע לעניין, הגישה לDB היא זה בEntity Framwork או בDataSet או בSqlParameter?
עריכה: הבעיה היא באמת בSqlDateTime שזה סוג נתונים של תאריך עבור SqlParameter. זה משליך על כל הדרכים לגישה לDB למעט קומנדים טקסטואליים.
פורסם במקור בפורום CODE613 ב08/06/2014 10:27 (+03:00)