Po pierwsze, wydajesz się być zdezorientowany różnicą między DateTime obiekt i sformatowany String reprezentacja tego DateTime obiekt. Now lub jeszcze lepiej, DateTime.Now jest już DateTime obiekt, więc nie ma sensu formatować go jako ciągu, a następnie analizować ciąg, aby przywrócić go do DateTime wartość ponownie. Możesz więc po prostu zrobić to samo, aby osiągnąć to samo:
Dim timestamp As Date = Date.Now
Zauważ, że w VB.NET Date to słowo kluczowe, które jest skrótem od DateTime , podobnie jak Integer jest "krótki" dla Int32 .
Po drugie, nie powinieneś dołączać DateTime wartości bezpośrednio do ciągu poleceń SQL. Powinieneś używać zapytania parametrycznego. Kiedy dołączysz DateTime wartość do ciągu SQL, musisz upewnić się, że jest on poprawnie sformatowany (poprzez wywołanie timestamp.ToString(...) ). Niestety, który format jest właściwy, będzie zależeć wyłącznie od ustawień kultury serwera. Dlatego o wiele lepiej jest użyć parametru DB, ustawić wartość parametru równą rzeczywistej DateTime obiektu, a następnie pozwól dostawcy bazy danych wykonać konwersję za Ciebie.