将数据集对象.text转换为Int32 Visual Basic

时间:2015-05-06 01:31:05

标签: vb.net

我在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

1 个答案:

答案 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