Vb.net 票号增量

Vb.net 票号增量,vb.net,auto-increment,Vb.net,Auto Increment,我在我的项目中输出自定义票证号的增量方面遇到了问题,目前我正在尝试此代码,但它始终显示以下错误消息“其他信息:从字符串转换为“Double”类型无效” 我猜你会因为这句话而出错 number=command.ExecuteScalar+1 这里的命令.ExecuteScalar是一个字符串,因此当您向其中添加1时,它会将1连接到自身,稍后当您尝试将其值存储在number中时,则会出现错误 出现此错误的原因是command.ExecuteScalar和number是一个整数 在执行此操作之前,必须

我在我的项目中输出自定义票证号的增量方面遇到了问题,目前我正在尝试此代码,但它始终显示以下错误消息“其他信息:从字符串转换为“Double”类型无效”


我猜你会因为这句话而出错

number=command.ExecuteScalar+1

这里的
命令.ExecuteScalar
是一个字符串,因此当您向其中添加1时,它会将1连接到自身,稍后当您尝试将其值存储在
number
中时,则会出现错误

出现此错误的原因是
command.ExecuteScalar
number
是一个整数

在执行此操作之前,必须将字符串转换为整数

将该声明替换为:

number=Integer.Parse(command.ExecuteScalar)+1


在这里,我们将字符串转换为整数,然后向其添加1,然后将其值存储到数字中

也许您可以帮助我们知道哪一行有错误?`If IsDBNull(command.ExecuteScalar)然后number=1 lblTN.Text=letters+number Else number=command.ExecuteScalar+1 lblTN.Text=letters+number End如果“错误指的是这一个,我将字母声明为字符串,将数字声明为整数类型为
number
,声明在哪里?”?您应该在上设置严格的
选项。。。
Function AutoID()
    command.Connection = connection
    connection.Open()
    command.CommandText = "SELECT MAX(id) FROM tnumber"
    If IsDBNull(command.ExecuteScalar) Then
        number = 1
        lblTN.Text = letters + number

    Else
        number = command.ExecuteScalar + 1
        lblTN.Text = letters + number

    End If
    command.Dispose()
    connection.Close()
    connection.Dispose()

    Return number
End Function

Private Sub btnRegular_Click(sender As Object, e As EventArgs) Handles btnRegular.Click

    If letters = "HMD" Then

        PictureBox1.Visible = False
        lblCounterName.Text = "COUNTER 1"
        lblTime.Text = Date.Now.ToString("MMMM dd, yyyy | hh:mm:ss tt")
        btnPriority.Visible = False
        btnRegular.Text = "PROCEED"
        AutoID()
    end if