TicketNumber 的增量

问题描述

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

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

解决方法

我猜你因为声明而出错

number = command.ExecuteScalar + 1

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

错误是由于 command.ExecuteScalarnumber 是整数。

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

将该语句替换为:

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

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