我的update_ckick事件中有一个sql update语句:
Dim tmp_date As Date
Dim YearDateTime As New Nullable(Of Date)
If Date.TryParse(txtStartDate.Text, tmp_date) Then
YearDateTime = tmp_date
Else
YearDateTime = Nothing
End If
Update Details set EMP_DateAppointedRank = @EMP_DateAppointedRank
UpdateEmp.Parameters.AddWithValue("EMP_DateAppointedRank", String2Date(YearDateTime))
这只是一个片段,当我单行Update Details set EMP_DateAppointedRank = @EMP_DateAppointedRank
值显示#10/03/2014#
时,会发生什么
我如何才能创造这个价值:10/03/2014
没有#?
C#help也欢迎
答案 0 :(得分:1)
我怀疑你错误地将视觉工作室调试器显示的内容与其实际含义有关。
#10/03/2014#
是Date
literal in VB.NET。它只是意味着它的类型是Date
(C#中的DateTime
),它的值是10/03/2014
。
除此之外,如果使用MS-Sql-Server和@
变量而不是Date
,则必须在sql-parameter中添加String
:
If YearDateTime.HasValue Then
UpdateEmp.Parameters.AddWithValue("@EMP_DateAppointedRank", YearDateTime.Value)
Else
UpdateEmp.Parameters.AddWithValue("@EMP_DateAppointedRank", DBNull.Value)
End If