Insert Datetime.jetzt aus asp.net in sql server
Ich versuche, einfügen 'DateTime.Jetzt' in die sql-Spalte vom Typ datetime, aber beim einfügen erfolgt in sql
Tabelle Datum ist OK! (exp: 2015-02-11) aber die Zeit wird gespeichert, als 00:00:00!!! Ich versuchte viele alternativen.
das ist mein code:
sqlComm.Parameters.Add("@join_date", SqlDbType.Date).Value = DateTime.Now.ToString("yyyy-MM-dd h:m:s");
Was bin ich???
- Versuchen Sie,..Datum und Zeit.nun.string("yyyy-MM-dd hh:mm:ss")
- msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx
- danke @Chris fertig. finden Sie die akzeptierte Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bist du angeben
SqlDbType
vonDate
- die haben nicht ein mal. Wenn also der Treiber ist die Umwandlung der parameter-Wert in den gewünschten Typ, es ist das entfernen der Zeit Teil.Du bist auch konvertieren
DateTime.Now
in einen string ohne ersichtlichen Grund... und dies in einer Weise, die verwendet eine ungerade und verlustreiche Zeit-format (h:m:s
, ohne AM/PM-Kennzeichner). Wenn Sie wirklich hat konvertieren zu einem string, es wäre besser, verwendenHH:mm:ss
für die Zeit Planer.Diese Zeile:
werden sollte:
Jon ' s Antwort ist gut, aber auch die, die Sie machen können Dinge einfacher wie dies:
Es wird automatisch der richtige Datentyp verwendet wird, basierend auf dem Typ des Wertes.
Auch - Sie sagten, Sie waren dem Aufruf dieser aus ASP.Net. In web-Applikationen
DateTime.Now
ist in der Regel nicht geeignet - weil es verwendet die Zeitzone des server, und es nicht behalten eine offset-Informationen, so kann es unklar sein während Sommerzeit fall-back-übergänge. Ich empfehle die Speicherung UTC-basierte Werte in der Datenbank (DateTime.UtcNow
).Wenn Sie das Gefühl, dass der server ' s local time zone relevant ist in Ihrem Fall verwenden, dann die Umstellung Ihrer Datenbank-Spalte, um die
datetimeoffset
geben und mitDateTimeOffset.Now
. Das vermeidet Probleme mit zeitumstellungen.Siehe auch: Der Fall gegen DateTime.Jetzt