我尝试使用下面的代码插入数据库,但每次出现错误时都会:
日期格式中存在语法错误。 [表达式= @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()
答案 0 :(得分:5)
尝试杀死叛逆者:
INSERT INTO个人资料(Title,FirstName,LastName,DOB) VALUES(@Title,'@ FirstName','@ LastName','@ DOB')
应该只是:
INSERT INTO个人资料(Title,FirstName,LastName,DOB) VALUES(@标题,@ FirstName,@ LastName,@ DOB)
答案 1 :(得分:0)
从INSERT语句中的@DOB中取出单引号。他们不需要。