У меня возникли проблемы с записью даты в базу данных. Я искал повсюду и видел много противоречивых стандартов.
В основном я продолжаю получать несоответствие типов. Я уверен, что это что-то простое, чего я не вижу.
мой код ниже. По сути, я делаю запрос, добавляю параметры и пытаюсь его запустить. Имя и номер телефона — это текст, «Заказанный продукт» должен быть числом (точнее, productID), а дата — это дата.
Почему я получаю несоответствие при выполнении команды?
Dim sqlCMD
sqlCMD = "" + _
"INSERT INTO Orders " + _
" ([NAME], " + _
" [PhoneNumber], " + _
" [ProductOrdered], " + _
" [OrderDate]) " + _
"VALUES ('@CustomerName', " + _
" '@PhoneNumber', " + _
" '@ProductOrdered', " + _
" '@OrderDate'); "
Dim connection As OleDb.OleDbConnection = New OleDb.OleDbConnection()
connection.ConnectionString = ConnectionStringConst
Dim command As OleDb.OleDbCommand = New OleDb.OleDbCommand(sqlCMD, connection)
command.Parameters.Add("@CustomerName", OleDb.OleDbType.Char).Value = txtOrderCustName.Text
command.Parameters.Add("@PhoneNumber", OleDb.OleDbType.Char).Value = txtOrderPhoneNum.Text
command.Parameters.Add("@ProductOrdered", OleDb.OleDbType.Integer).Value = cmbOrderItem.SelectedIndex
command.Parameters.Add("@OrderDate", OleDb.OleDbType.DBDate).Value = DateTime.Now
Try
connection.Open()
command.ExecuteNonQuery() 'Perform our query and insert into the table
Catch ex As Exception
MsgBox("ERROR - Your query may not have completed" + vbNewLine + vbNewLine + _
"Error Message: " + ex.Message)
Finally
connection.Close()
End Try