您好 我正在尝试更新ms访问数据库。我有一个使用日期的gridview:
Dim tBox As TextBox = CType(gridStaff.Rows(e.RowIndex).FindControl("sDate"), TextBox)
然后,我想从该文本框中获取值并将其分配给日期变量。
Dim test As Date = CDate(tBox.Text)
我遇到的问题是,现在当我将测试变量放入我的sql更新查询时,它以这种格式存储日期。 mm / dd / yyyy而不是我想要的dd / mm / yyyy格式。
我尝试了不同的格式化方法,我在线阅读但尚未成功。任何建议都会很棒!
由于
答案 0 :(得分:0)
您的问题是从tBox.Text到Date的转换,还是在sql更新查询级别? - 你应该给sql语句一个带有严格类型的参数。从tBox.Text转换为测试应该以文化感知的方式完成:
'要转换的字符串和目标日期: Dim dateString As String =“02/15/2011” D d d As Date
'转换字符串时指定英文/美国文化: Dim cul As Globalization.CultureInfo = Globalization.CultureInfo.GetCultureInfo(“en-US”) d = Date.Parse(dateString,cul)
您还可以依赖默认文化,只需让Date.Parse完成工作而不指定文化。
答案 1 :(得分:0)
尝试使用
Dim test As Date = DateTime.ParseExact(tBox.Text, "d/M/yyyy", CultureInfo.InvariantCulture)
或者如果您的系统设置正确且CultureInfo.CurrentCulture具有正确的日期格式,
Dim test As Date = DateTime.Parse(tBox.Text, CultureInfo.CurrentCulture )
而不是CDate()