您好我想使用Vb.NET更新命令在MS Access中更新DATE。我使用日期选择工具和数据类型的日期是日期/时间。我使用调试,一切都变得完美,但当我检查更新日期和月份仍然正确,我选择但年份更改为1894 .... 代码是:
Dim dt As String
dt = Format(Dtp1.Value, "dd-MM-yyyy")
Cmd.Parameters.Clear()
Cmd.CommandText = "update tran set expdate=" & dt & " where trno=" & TxtMTrNo.Text.Trim
Cmd.ExecuteNonQuery()
LoadProducts()
TxtMTrNo.Text = ""
TxtMProduct.Text = ""
TxtPQty.Text = ""
TxtSQty.Text = ""
MsgBox("Edited successfull")
答案 0 :(得分:1)
不要使用字符串连接...这很容易出错(日期格式位置问题),并且容易受到SQL注入问题的影响。使用参数,如下所示:
Cmd.CommandText = "update tran set expdate=@pDate where .....
Cmd.Parameters.AddWithValue("@pDate ", ......
Cmd.ExecuteNonQuery()
答案 1 :(得分:0)
您需要将日期用单引号括起来:
Cmd.CommandText = "update tran set expdate='" & dt & "' where trno=" & TxtMTrNo.Text.Trim
否则它认为日期是数学表达式。