我有一个string
类型的数据库表字段。该字段中的数据具有以下值:
1/2014
二千〇一十四分之二
现在,我想使用3/2014
将该字段增加到VB.NET
。
请注意,1
和2
不是一个月,而是序列号。
我该怎么做?
答案 0 :(得分:6)
您没有进行字符串到整数的转换,而是使用日期。
假设您的日期格式为M/yyyy
,请使用此:
Dim dateValue As DateTime = DateTime.ParseExact( myFieldValue, "M/yyyy", CultureInfo.InvariantCulture )
dateValue = dateValue.AddMonths( 1 )
SaveNewDate( dateValue )
答案 1 :(得分:3)
正如您所声明的那样不一个日期,您可以在字符串上使用Split来提取第一部分,然后尝试将其解析为Integer值:
Dim s As String = "2/2014"
Dim serialNo As Integer
If Not Int32.TryParse(s.Split("/"c)(0), serialNo) Then
'throw an error here because the string was no in the expected format
End If
serialNo += 1
s = serialNo.ToString + s.Substring(s.IndexOf("/"))
Debug.WriteLine(s)
输出
3/2014
请注意,在开始之前,您可能还想检查字符串是否包含/
字符。
更好的是,将序列号作为单独的Integer
字段存储在数据库中以开始。