我正在尝试使用下面的代码插入到数据库中,但是,每次出现错误时:
There was a syntax error in the date format. [ Expression = @DOB ]
我已经尝试了几乎所有可用的日期格式,tolongdate、toshortdate 等,无论我使用什么都会显示此错误。
数据库列格式为datetime
。我哪里出错了?
代码:
' Insert New User - Create Connection
Dim sqlConn As New SqlCeConnection(My.Settings.CompDbConnectionString)
' Open Connection
sqlConn.Open()
' Query DB
Dim sqlComm As New SqlCeCommand("INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES(@Title, '@FirstName', '@LastName', '@DOB')", sqlConn)
' Add Parameters
sqlComm.Parameters.Add(New SqlCeParameter("@Title", SqlDbType.NVarChar)).Value = ComboTitle.SelectedItem.ToString()
sqlComm.Parameters.Add(New SqlCeParameter("@FirstName", SqlDbType.NVarChar)).Value = txtFirstName.Text
sqlComm.Parameters.Add(New SqlCeParameter("@LastName", SqlDbType.NVarChar)).Value = txtLastName.Text
sqlComm.Parameters.Add(New SqlCeParameter("@DOB", SqlDbType.DateTime)).Value = DteDOB.Value.ToUniversalTime
' Insert Into Database
Try
sqlComm.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Failed To Update Your Details:" & vbCrLf & ex.Message)
Exit Sub
End Try
' Close Connection
sqlConn.Close()
最佳答案
尝试删除撇号:
INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES (@Title, '@FirstName', '@LastName', '@DOB')
应该只是:
INSERT INTO Profiles(Title, FirstName, LastName, DOB) VALUES (@Title, @FirstName, @LastName, @DOB)
关于sql - 通过 VB.NET 将 DateTime 插入 SQL Server CE 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11458481/