我在Visual Basic应用程序中使用数据库,并为简单的添加和显示过程安排了代码(见下文)。
字段显示为文本框,其中DataType属性设置为Int32,默认情况下DateTime为UnspecifiedLocal。
我反复收到错误并且它坚持要我转换DateTime。
输入字符串的格式不正确
我尝试将DataType更改为String并删除convert.toint32
,但它仍然给出了同样的错误。
非常感谢您提供有关如何解决此错误消息并修复我的简单小程序的帮助!
Private Sub StrTol()
Dim intBase As Integer = Convert.ToInt32(Base_Score1TextBox.Text)
Dim intRace As Integer = Convert.ToInt32(Base_Race_Mod1TextBox.Text)
Dim intEnh As Integer = Convert.ToInt32(Enh_Bonus1TextBox.Text)
Dim intMisc As Integer = Convert.ToInt32(Mis1TextBox.Text)
Dim intSum As Integer
If intBase > 0 Then
ElseIf intRace > 0 Then
ElseIf intEnh > 0 Then
ElseIf intMisc > 0 Then
intSum = intBase + intRace + intEnh + intMisc
txtStr.Text = intSum
Else
MsgBox("Input Error", MsgBoxStyle.OkOnly, "Error")
End If
答案 0 :(得分:0)
我解决了这个问题:完全删除If-Then并从“Dim intBase = Convert.ToInt32(TextBox.Text)”向下放到“txtStr,text = intsum”到具有FormatException的Try-Catch块作为捕获异常并在结束尝试之前将MsgBox结果放在Catch Excpetion下面。
代码:
Private Sub StrVal()
'Validate user entry
Try
Dim intBase As Integer = Convert.ToInt32(Base_Score1TextBox.Text)
Dim intRace As Integer = Convert.ToInt32(Base_Race_Mod1TextBox.Text)
Dim intEnh As Integer = Convert.ToInt32(Enh_Bonus1TextBox.Text)
Dim intMisc As Integer = Convert.ToInt32(Mis1TextBox.Text)
intSum = intBase + intRace + intEnh + intMisc
txtStr.Text = intSum
Catch Exceptoin As FormatException
MsgBox("Input Error", MsgBoxStyle.OkOnly, "Error")
End Try