如何用当前年份和字符增加数字? [英] How to increment number with current year and characters?
本文介绍了如何用当前年份和字符增加数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
// This is what i've tried first but i want the vice versa of this with current year.
Public Sub incrPR()
Dim curValue As Integer
Dim result As String
Dim s As String = "PR"
Dim yr As String = Now.Year.ToString()
Using con As SqlConnection = New SqlConnection(ConString)
con.Open()
Dim cmd = New SqlCommand("Select MAX(SpecialOrderNo) FROM SpecialOrder", con)
result = cmd.ExecuteScalar().ToString()
cmd.Parameters.Clear()
If String.IsNullOrEmpty(result) Then
result = "PR000"
End If
result = result.Substring(3)
Int32.TryParse(result, curValue)
curValue = curValue + 1
result = s & curValue.ToString("D3")
txtno.Text = result
End Using
End Sub
What I have tried:
Public Sub incrPR()
Dim curValue As Integer
Dim result As String
Dim yr as string = "-" & Now.Year.ToString()
Dim s As String = "-PR"
Dim yr As String = Now.Year.ToString()
Using con As SqlConnection = New SqlConnection(ConString)
con.Open()
Dim cmd = New SqlCommand("Select MAX(SpecialOrderNo) FROM SpecialOrder", con)
result = cmd.ExecuteScalar().ToString()
cmd.Parameters.Clear()
If String.IsNullOrEmpty(result) Then
result = "000"
End If
Int32.TryParse(result, curValue)
curValue = curValue + 1
result = curValue.ToString("D3") & yr & s
txtno.Text = result
End Using
End Sub
//Sample output: 001-2018-PR but not number is not increasing
//Expected sample output: 001-2018-PR, 002-2018-PR, 003-2018-PR
推荐答案
您已发布这个问题在VB论坛中。请不要交叉发帖。
You already posted this question in the VB forum. Please do not cross post.
New SqlCommand("Select MAX(SpecialOrderNo) FROM SpecialOrder", con)
获取'max当你想要生成下一个唯一键时,这是一个坏主意。原因是数据库是多用户的,多个用户可以做同样的事情并以相同的下一个键结束。
看看:
SQL自动增加字段 [ ^ ]
使用SQL Server自定义自动生成的序列 - SQLTeam.com [ ^ ]
这篇关于如何用当前年份和字符增加数字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文