首页 > 解决方案 > TicketNumber 的增量

问题描述

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

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

标签: vb.netauto-increment

解决方案


我猜你会因为声明而出错

number = command.ExecuteScalar + 1.

这里 thecommand.ExecuteScalar是一个字符串,所以当你向它添加 1 时,它会将 1 连接到自身,然后当你尝试将它的值存储在 中时number,就会出现错误。

错误的出现是因为command.ExecuteScalarnumber是一个整数。

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

用以下语句替换该语句:

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

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


推荐阅读