Dim SALESINSERT As New SqlCommand("INSERT INTO Tbl_Sales (Sale_id, Transaction_No, Customer_id, Item_id, Amount, Date) VALUES(" _
& SalesIdMax + 1 & "," & Transaction_label.Text & "," & 1 & "," & Label4.Text & "," & TextBox1.Text & _
"," & DateTimePicker1.Value.Date & ")", sqlcon)
sqlcon.Open()
SALESINSERT.ExecuteNonQuery()
sqlcon.Close()
SALESINSERT = Nothing
У меня этот код. Все работает отлично, но проблема связана с датой. По какой-то причине он вставляет одну и ту же дату каждый раз: «1/1/1900».Вставить дату в базу данных SQL Server через vb.net
Когда я отлаживал код, чтобы увидеть текст команды SQL, все было нормально, и дата была прекрасной, и я выполнил ее в SQL-запросе, и все было в порядке.
Но в VB это не так.
Я не знаю, почему он не работает.
Возможно, у меня есть предложения по его устранению.
Использование параметризованных запросов - это предотвратит внедрение SQL-запросов и устранит эту проблему как побочный эффект. Обратите внимание, что ваш код завершится неудачно, если он запущен с датой, другой локалью –
Во-первых, я настоятельно рекомендую вам использовать [Option Strict On] (https://msdn.microsoft.com/en-us/library/zcd4xwzs .aspx). Затем используйте параметры SQL для значений в запросе. –
«Все работает нормально?» Это сбивает с толку, поскольку этот код не может работать –