2010-10-18 51 views
1

将表达式转换为数据类型datetime的算术溢出错误。该语句已终止。如何将en-gb转换为en-us(算术溢出错误将表达式转换为数据类型datetime)

我的网站的文化是EN-GB(18/10/2010)

我的数据库服务器的文化是EN-US(10/18/2010)

的日期存储在一个参数中;

command.Parameters.AddWithValue("@bookingdate", inputBookingDate.Text) 

有没有办法在进入数据库之前将其转换为美国的日期格式?

我试过这段代码;

Dim dbDate As String = command.Parameters("@bookingdate").Value.ToString 
    dbdate = DateTime.Parse(dbdate, New CultureInfo("en-US")) 
    command.Parameters("@bookingdate").Value = dbdate 

但得到的错误“字符串未被识别为有效的DateTime。”

dbDate = "29/10/2010 00:00:00" 

如何指定当前的文化?以GB格式将dbDate标识为有效的日期时间。

谢谢。

回答

1

尝试DateTime.Parse。以GB格式读取日期,以美国格式写出。同时也是检查您的UI代码以确保它在任何地方都使用GB格式的好时机。或者改变你的数据库所期望的格式。

如果您的数据库支持它,您可以写出日期作为时间戳,以尽量减少使用美国日期格式的次数。

相关问题