如何用当前年份和字符增加数字? [英] How to increment number with current year and characters?

查看:108
本文介绍了如何用当前年份和字符增加数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

// 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆