Ich habe ein nicht null SQL-Datetime-Feld und wenn mein Textfeld in der asp.net mvc app leer ist, wie es nicht string.empty to datetime konvertieren kann, erhalte ich Fehler. Was ist eine elegante Art, mit dieser Situation umzugehen?Behandlung von null DateTime von SQL db
0
A
Antwort
2
Nicht sicher asp, aber wie etwa:
if (string.IsNullOrEmpty(text_from_textbox))
{
date = DateTime.MinValue;
}
1
Sie haben drei Möglichkeiten, je nach den Anforderungen der Anwendung:
- Ändern Sie die Datenbank zu ermöglichen NULL die in die Datenbank eingegeben werden. Dies würde dann erfordern Sie "Sonderfall" die Logik, so dass anstatt zu versuchen, "Convert.ToDateTime" decken Sie nach string.Empty und übergeben DBNull.Value stattdessen an die Datenbank.
- Fügen Sie eine clientseitige Validierung hinzu, um zu prüfen, ob das Textfeld leer ist, und verweigern Sie das Senden des Formulars, falls dies der Fall ist. Begleiten Sie dies mit einer Validierungsüberprüfung serverseitig, die bestätigt, dass der übergebene Wert nicht null ist (und auch ein gültiges Datum) und dann das Speichern fehlschlägt und eine Fehlermeldung an den Benutzer zurückgibt, wenn kein gültiges Datum vorhanden ist.
- Setzen Sie einen Standardwert (wenn möglich) wie DateTime.Now in die Datenbank, wenn der Benutzer keinen Wert angeben kann.
1
Versuchen Sie nicht, die Daten zu speichern, wenn sie nicht abgeschlossen ist; Zeige einen Validierungsfehler für den Benutzer und fordere, dass ein Datum ausgefüllt wird.
0
Ich stimme Fredrik vollkommen zu. Wenn Sie einen Wert in der DB-Spalte erwarten, müssen Sie dies auch in einem Modell erwarten. Verwenden Sie die Validierung auf der Client/Server-Seite, bevor Sie das Modell aus der Clientantwort erstellen.
1
Sicherlich ist es besser
DateTime date;
if (!DateTime.TryParse(text_value, out date)) {
date = DateTime.MinValue;
}
auf diese Weise Sie leere Strings und ungültige Datums
Verwandte Themen
- 1. Behandlung eines DateTime DBNull
- 2. Behandlung der WCF-Deserialisierung von DateTime-Objekten
- 3. Behandlung von NULL Daten in SSRS
- 4. Empfohlener Ansatz für die Behandlung von SQLExceptions in DB-Anwendungen
- 5. Umgang mit Null Daten von DB zurückgegeben
- 6. Einfügen von Datetime in MySql db
- 7. NULL-fähige DateTime in Linq zu SQL
- 8. SQL DATETIME Einfügen von Excel?
- 9. Verwenden von SQL Server Datetime
- 10. Behandlung von DB-Sperren, wenn mehrere Anwendungsserver Daten gleichzeitig aktualisieren
- 11. Konvertieren von DateTime nach DateTime, das mit SQL Server funktioniert?
- 12. Delete Tupel von SQL db
- 13. Wie behandelt NULL für ein Datetime-Feld (DB) mit Zulassen-Null in unserem Programm?
- 14. Behandlung einer Null-Ausnahme C#
- 15. Unerwünschtes Runden von DateTime in SQL Server
- 16. Konvertieren von SQL Server null Datums-/Uhrzeitfelder
- 17. Tabellenadapter datetime null Wert
- 18. leere Elemente wie NULL-Werte in SQL Server OpenXML Funktion Behandlung von
- 19. JavaScript Behandlung von Ereignissen
- 20. Behandlung von MSMQ-Giftnachrichten
- 21. Konvertieren von SQL Server-XML-Wert (xsi: nil) von DateTime in null
- 22. A anstelle von null
- 23. Überprüfen DB Null in Tabelle
- 24. Behandlung von langen laufenden Berichten
- 25. Hinzufügen von Zeit zu DateTime in SQL
- 26. SQL Query - Durchschnittliche Zeit von Datetime Feld
- 27. SQL Server entfernen Millisekunden von Datetime
- 28. Einfügen von DateTime in Sql Server 2005
- 29. SQL Server DB direkt von einer anderen DB wiederherstellen
- 30. Verlinken/Synchronisieren von SQL DB mit MySQL DB
Was behandeln tun Sie das Ergebnis sein? – Guffa