Υπερχείλιση SqlDateTime. Πρέπει να είναι μεταξύ 1/1/1753 12:00:00 π.μ. και 31/12/9999 11
Κατά την εισαγωγή δεδομένων με το πλαίσιο NHibernate orm, αναφέρθηκε το παραπάνω σφάλμα:
Υπερχείλιση SqlDateTime / Υπερχείλιση SqlDateTime [Σύνοψη: Σφάλμα - Υπερχείλιση SqlDateTime. Πρέπει να είναι μεταξύ 1/1/1753 12:00:00 π.μ. και 31/12/9999 11:59:59 μ.μ. Υπερχείλιση SqlDateTime. Πρέπει να είναι μεταξύ 1/1/1753 12:00:00 π.μ. Πόλεμος 31/12/9999 11:59:59 μ.μ. Λόγος Κατά την εφαρμογή C# εισαγωγή ή ενημέρωση βάσης δεδομένων, λέξη ημερομηνίας/ώρας]
Σφάλμα - Υπερχείλιση SqlDateTime. Πρέπει να είναι μεταξύ 1/1/1753 12:00:00 π.μ. και 31/12/9999 11:59:59 μ.μ. Υπερχείλιση SqlDateTime. Πρέπει να είναι μεταξύ 1/1/1753 12:00:00 π.μ. και 31/12/9999 11:59:59 μ.μ.
Αιτία
Όταν χρησιμοποιείτε τη βάση δεδομένων εισαγωγής ή ενημέρωσης C#, η τιμή του πεδίου ημερομηνίας/ώρας είναι null από προεπιλογή, η εισαγωγή C# 0001-01-01 προκαλεί υπερχείλιση τύπου ημερομηνίας/ώρας του sql server.
Εύρος τύπων ημερομηνίας/ώρας σε C#
DateTime.MinValue = 1/1/0001 12:00:00 π.μ. DateTime.MaxValue = 23:59:59.99999999, 31 Δεκεμβρίου 9999, ακριβώς ένα τικ 100 νανοδευτερολέπτων πριν από τις 00:00:00, 1 Ιανουαρίου 10000 Εύρος τύπων ημερομηνίας/ώρας στον Sql Server
μεταξύ 1/1/1753 12:00:00 πμ και 31/12/9999 11:59:59 μμ
Αφού διάβασα αυτό το άρθρο, μάλλον καταλαβαίνω κάτι, θα πρέπει να υπάρχει μια ιδιότητα που είναι κενή, το NHibernate ορίζει αυτόματα την προεπιλεγμένη τιμή, νομίζω ότι πρέπει να είναι έτσι????
Στη συνέχεια, μετά την εκχώρηση του χαρακτηριστικού UpdateTime που δεν είχε αρχικά εκχωρηθεί,διαπίστωσε ότι δεν υπήρχε σφάλμακαι, στη συνέχεια, εισαγάγατε τον πίνακα δεδομένων,
Ωστόσο, το πεδίο μου μπορεί να είναι άδειο, τι πρέπει να κάνω???
Βρείτε την ιδιότητα UpdateTime στην κλάση DateTime και ορίστε την σε DateTime; Δηλαδή, επιτρέψτε το κενό. (Στο αντιστοιχισμένο xml είναι καλύτερο, ορίστε επίσης σε not-null="false", ως εξής:)
Τέλος, επιτυχία, τραβήξτε ένα στιγμιότυπο οθόνης της βάσης δεδομένων!
|