Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 值在10时停止递增_Vb.net - Fatal编程技术网

Vb.net 值在10时停止递增

Vb.net 值在10时停止递增,vb.net,Vb.net,我这里有一个奇怪的问题,这段代码可以工作,但是当它达到10的值时,它会停止递增,它应该能够+1,并使其为11,但是它停止了。我不知道这是什么原因,现在真的很困惑 这是我的密码: Dim i As Integer i = Integer.Parse(TextBox1.Text) + 1 TextBox1.Text = i.toString() 可能是什么原因造成的吗?任何帮助或建议都将被欣然接受。提前谢谢我试过了 Private Sub Button1_Click(sender As Objec

我这里有一个奇怪的问题,这段代码可以工作,但是当它达到10的值时,它会停止递增,它应该能够+1,并使其为11,但是它停止了。我不知道这是什么原因,现在真的很困惑

这是我的密码:

Dim i As Integer
i = Integer.Parse(TextBox1.Text) + 1
TextBox1.Text = i.toString()
可能是什么原因造成的吗?任何帮助或建议都将被欣然接受。提前谢谢

我试过了

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim i As Integer
    Dim itb As Integer
    'make sure the number in the tb is valid
    If Integer.TryParse(TextBox1.Text, itb) Then
        i = itb + 1
        TextBox1.Text = i.ToString()
    Else
        'not a number
        Stop
    End If
End Sub
它的效果和预期的一样。

我试过这个

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim i As Integer
    Dim itb As Integer
    'make sure the number in the tb is valid
    If Integer.TryParse(TextBox1.Text, itb) Then
        i = itb + 1
        TextBox1.Text = i.ToString()
    Else
        'not a number
        Stop
    End If
End Sub
它的效果和预期的一样。

我试过这个

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim i As Integer
    Dim itb As Integer
    'make sure the number in the tb is valid
    If Integer.TryParse(TextBox1.Text, itb) Then
        i = itb + 1
        TextBox1.Text = i.ToString()
    Else
        'not a number
        Stop
    End If
End Sub
它的效果和预期的一样。

我试过这个

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim i As Integer
    Dim itb As Integer
    'make sure the number in the tb is valid
    If Integer.TryParse(TextBox1.Text, itb) Then
        i = itb + 1
        TextBox1.Text = i.ToString()
    Else
        'not a number
        Stop
    End If
End Sub

它的工作原理与预期一样。

如果该代码是您的版本,则相关代码如下:

Private Sub LoadValue( )
    Dim i As Integer    
    Dim cmd As OleDbCommand = New OleDbCommand

    With cmd
        .CommandText = "SELECT MAX(Guard_ID) FROM Guard"
        .CommandType = CommandType.Text
        .Connection = Conn
        .ExecuteNonQuery()

        Dim reader As OleDbDataReader = cmd.ExecuteReader

        If reader.Read Then

           ' posted code seems to be a 
           ' revision of this:
           TextBox1.Text = reader.GetString(0)
           i = TextBox1.Text + 1
           TextBox1.Text = i

            reader.Close()
        End If
    End With
 End With
问题不在于递增,而是在文本列上运行MAX查询。考虑一个ID为“{代码”>{“0”、“1”、“2”、“10”、“11”} /代码>的表。该系列的最大值是多少?由于该列是文本,因此会进行文本比较,答案不是“11”,而是“2”,因为字符2的值高于字符1,后者是
“11”
“10”
“10”
10
“十”
)中的第一位数字

一旦有10条记录,MAX查询将只返回“9”,因为这是任何数字字符串的第一个字符的最大值


在代码和数据库中,要作为数字处理的内容必须是数字类型。对于日期类型更是如此,将它们转换为字符串没有帮助。解决方案是将数据库列类型从文本更改为整数,可能是自动编号,并让DB为您完成所有工作。

如果该代码是您的修订版,则相关代码如下:

Private Sub LoadValue( )
    Dim i As Integer    
    Dim cmd As OleDbCommand = New OleDbCommand

    With cmd
        .CommandText = "SELECT MAX(Guard_ID) FROM Guard"
        .CommandType = CommandType.Text
        .Connection = Conn
        .ExecuteNonQuery()

        Dim reader As OleDbDataReader = cmd.ExecuteReader

        If reader.Read Then

           ' posted code seems to be a 
           ' revision of this:
           TextBox1.Text = reader.GetString(0)
           i = TextBox1.Text + 1
           TextBox1.Text = i

            reader.Close()
        End If
    End With
 End With
问题不在于递增,而是在文本列上运行MAX查询。考虑一个ID为“{代码”>{“0”、“1”、“2”、“10”、“11”} /代码>的表。该系列的最大值是多少?由于该列是文本,因此会进行文本比较,答案不是“11”,而是“2”,因为字符2的值高于字符1,后者是
“11”
“10”
“10”
10
“十”
)中的第一位数字

一旦有10条记录,MAX查询将只返回“9”,因为这是任何数字字符串的第一个字符的最大值


在代码和数据库中,要作为数字处理的内容必须是数字类型。对于日期类型更是如此,将它们转换为字符串没有帮助。解决方案是将数据库列类型从文本更改为整数,可能是自动编号,并让DB为您完成所有工作。

如果该代码是您的修订版,则相关代码如下:

Private Sub LoadValue( )
    Dim i As Integer    
    Dim cmd As OleDbCommand = New OleDbCommand

    With cmd
        .CommandText = "SELECT MAX(Guard_ID) FROM Guard"
        .CommandType = CommandType.Text
        .Connection = Conn
        .ExecuteNonQuery()

        Dim reader As OleDbDataReader = cmd.ExecuteReader

        If reader.Read Then

           ' posted code seems to be a 
           ' revision of this:
           TextBox1.Text = reader.GetString(0)
           i = TextBox1.Text + 1
           TextBox1.Text = i

            reader.Close()
        End If
    End With
 End With
问题不在于递增,而是在文本列上运行MAX查询。考虑一个ID为“{代码”>{“0”、“1”、“2”、“10”、“11”} /代码>的表。该系列的最大值是多少?由于该列是文本,因此会进行文本比较,答案不是“11”,而是“2”,因为字符2的值高于字符1,后者是
“11”
“10”
“10”
10
“十”
)中的第一位数字

一旦有10条记录,MAX查询将只返回“9”,因为这是任何数字字符串的第一个字符的最大值


在代码和数据库中,要作为数字处理的内容必须是数字类型。对于日期类型更是如此,将它们转换为字符串没有帮助。解决方案是将数据库列类型从文本更改为整数,可能是自动编号,并让DB为您完成所有工作。

如果该代码是您的修订版,则相关代码如下:

Private Sub LoadValue( )
    Dim i As Integer    
    Dim cmd As OleDbCommand = New OleDbCommand

    With cmd
        .CommandText = "SELECT MAX(Guard_ID) FROM Guard"
        .CommandType = CommandType.Text
        .Connection = Conn
        .ExecuteNonQuery()

        Dim reader As OleDbDataReader = cmd.ExecuteReader

        If reader.Read Then

           ' posted code seems to be a 
           ' revision of this:
           TextBox1.Text = reader.GetString(0)
           i = TextBox1.Text + 1
           TextBox1.Text = i

            reader.Close()
        End If
    End With
 End With
问题不在于递增,而是在文本列上运行MAX查询。考虑一个ID为“{代码”>{“0”、“1”、“2”、“10”、“11”} /代码>的表。该系列的最大值是多少?由于该列是文本,因此会进行文本比较,答案不是“11”,而是“2”,因为字符2的值高于字符1,后者是
“11”
“10”
“10”
10
“十”
)中的第一位数字

一旦有10条记录,MAX查询将只返回“9”,因为这是任何数字字符串的第一个字符的最大值



在代码和数据库中,要作为数字处理的内容必须是数字类型。对于日期类型更是如此,将它们转换为字符串没有帮助。解决方案是将数据库列类型从文本更改为整数,可能是自动编号,并让DB为您完成所有工作。

但是,您没有提供足够的上下文(尤其是代码)来解决问题。此代码由按钮触发。我的起始值是1。但当它达到10时,它停止递增。您是否使用调试器逐步检查代码以查看发生了什么?您的代码看起来很好。要么您没有提供确切的代码,要么您有其他更改
文本框
@Andrew中值的内容,这无关紧要,他正在访问
文本
属性。文本框不会自动删除不适合的文本。但是,您没有提供足够的上下文(尤其是代码)来解决问题。此代码由按钮触发。我的起始值是1。但当它达到10时,它停止递增。您是否使用调试器逐步检查代码以查看发生了什么?您的代码看起来很好。要么您没有提供确切的代码,要么您有其他更改
文本框
@Andrew中值的内容,这无关紧要,他正在访问
文本
属性。文本框不会自动删除不适合的文本。但是,您没有提供足够的上下文(尤其是代码)来解决问题。此代码由bu触发