Erstens scheinen Sie verwirrt über den Unterschied zwischen DateTime
zu sein -Objekt und den formatierten String
Darstellung dieser DateTime
Objekt. Now
, oder noch besser, DateTime.Now
ist bereits ein DateTime
Objekt, also macht es keinen Sinn, es als String zu formatieren und dann den String zu parsen, um ihn wieder in ein DateTime
zu bekommen Wert wieder. Sie können also einfach Folgendes tun, um dasselbe zu erreichen:
Dim timestamp As Date = Date.Now
Beachten Sie, dass in VB.NET Date
ist ein Schlüsselwort, das für DateTime
kurz ist , genauso wie Integer
ist "kurz" für Int32
.
Zweitens sollten Sie DateTime
nicht anhängen Werte direkt in die SQL-Befehlszeichenfolge. Sie sollten eine parametrisierte Abfrage verwenden. Wenn Sie DateTime
anhängen Wert zum SQL-String, müssen Sie sicherstellen, dass er richtig formatiert ist (durch Aufrufen von timestamp.ToString(...)
). Leider hängt das richtige Format jedoch vollständig von den Kultureinstellungen des Servers ab. Daher ist es weitaus besser, einen DB-Parameter zu verwenden und den Parameterwert gleich dem tatsächlichen DateTime
zu setzen -Objekt und lassen Sie dann den DB-Anbieter die Konvertierung für Sie durchführen.