sql - 通过 VB.NET 将 DateTime 插入 SQL Server CE 数据库

标签 sql database vb.net sql-server-ce

我正在尝试使用下面的代码插入到数据库中,但是,每次出现错误时:

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/

相关文章:

Mysql需要根据两列值选择行范围

mysql - 最后添加到表 SQL 中

mysql - 无法对所选数据进行分组

c# - 如何以编程方式创建新的本地 SQL Server 实例?

windows - 验证用户详细信息和自动登录 Windows

.net - 从 XmlDocument 到 XmlDocument 的 XslCompiledTransform

sql - 根据 Postgres int 数组中存在的元素获取行

mysql - 如何从单个表中选择当前日期和上一个日期?

sql - Postgresql:从多个表(具有相同字段)查看

vb.net - Visual Studio 2012/2013 中新的 VB.NET 函数签名行为