问题描述
我在我的项目中输出自定义票号的增量方面遇到问题,我目前正在尝试此代码,但它始终显示此错误消息“附加信息:从字符串转换为“双倍”类型无效"
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.ExecuteScalar
和 number
是整数。
在执行此操作之前,您必须将字符串转换为整数。
将该语句替换为:
number = Integer.Parse(command.ExecuteScalar) + 1
这里我们将字符串转换为整数,然后将其加 1,然后将其值存储为数字