附加信息:保存到数据库的条件表达式中的数据类型不匹配
Additional information: Data type mismatch in criteria expression saving to database
我想将 date/time 选择器中的日期保存到我的 table 中,其中 DTPJobID = 1。
我使用的是 VB2010 和 Microsoft Access 2003。我的 table 包含以下内容
Table Name: DTP
Fields
ID: Auto number
DTPJobID: Number
DTPDate: Date/Time with format of dd/mm/yyyy hh:nn
我使用以下编码:-
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & Application.StartupPath & "\DB1.mdb")
Dim cmd As New OleDbCommand
With cmd
.CommandType = CommandType.Text
.Connection = conn
.CommandText = "UPDATE [DTP] SET DTPDate = @p1 WHERE DTPJobID = @p2"
.Parameters.AddWithValue("@p1", Me.dtp.Value)
.Parameters.AddWithValue("@p2", 1)
End With
conn.Open()
cmd.ExecuteNonQuery()
但是,我收到以下错误:-
Additional information: Data type mismatch in criteria expression
有什么我可能出错的想法吗?
您的日期格式错误,因此数据类型错误
尝试
.Parameters.AddWithValue("@p1", Me.dtp.Value.ToString("dd/mm/yyyy hh:mm"))
我想将 date/time 选择器中的日期保存到我的 table 中,其中 DTPJobID = 1。
我使用的是 VB2010 和 Microsoft Access 2003。我的 table 包含以下内容
Table Name: DTP
Fields
ID: Auto number
DTPJobID: Number
DTPDate: Date/Time with format of dd/mm/yyyy hh:nn
我使用以下编码:-
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & Application.StartupPath & "\DB1.mdb")
Dim cmd As New OleDbCommand
With cmd
.CommandType = CommandType.Text
.Connection = conn
.CommandText = "UPDATE [DTP] SET DTPDate = @p1 WHERE DTPJobID = @p2"
.Parameters.AddWithValue("@p1", Me.dtp.Value)
.Parameters.AddWithValue("@p2", 1)
End With
conn.Open()
cmd.ExecuteNonQuery()
但是,我收到以下错误:-
Additional information: Data type mismatch in criteria expression
有什么我可能出错的想法吗?
您的日期格式错误,因此数据类型错误
尝试
.Parameters.AddWithValue("@p1", Me.dtp.Value.ToString("dd/mm/yyyy hh:mm"))