如何使用varchar设置自动生成的代码? [英] How to set autogenerated code with varchar?

查看:94
本文介绍了如何使用varchar设置自动生成的代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,



在我的项目中,我想设置自动生成的代码,如EB-1,EA-1。那么如何设定任何想法呢?我只能在数字中设置代码如下:



  public   string  autoGenerateemployeecode()
{

var countFirstServiceProvider = < span class =code-digit> 101 ;
string Type_ID = Convert.ToString(bindApplicantTypeID());
dt.OpenCon();
尝试
{
string queryCount = 从master_applicant中选择count(*),其中MA_App_Code =' + Type_ID + ';
decimal firstServiceProvider = Convert.ToDecimal(dt.ExecuteScalar(queryCount));
if (firstServiceProvider > 0
{
SqlDataReader dr = dt.ExecuteReader( select max(convert(numeric) ,ma_app_code))+ 1作为来自master_applicant的ma_app_code,其中MA_Appl_type_id =' + Type_ID + '< /跨度>);
while (dr.Read())
{
txtEmpCode.Text = dr [ 0 ]的ToString();
}
}
else
{
txtEmpCode.Text = countFirstServiceProvider.ToString();
}
}
catch (例外情况)
{
}
最后
{
dt.Dispose();
}
return (txtEmpCode.Text);
}

解决方案

你可以使用像



这样的东西

  int  codeLength =  3 ; 
var chars = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;
var random = new Random();
string result = new string
Enumerable.Repeat(chars,codeLength)
。选择(s = > s [random.Next(s.Length)] )
.ToArray());

// 插入' - '特殊字符在第2位,你可以改变你的方式想要
result = result.Insert( 2 - );


Hello,

In my project i want to set autogenerated code, like EB-1,EA-1. So how to set that any idea? I can set only in numeric that code is as bellow:

public string autoGenerateemployeecode()
    {

        var countFirstServiceProvider = 101;
        string Type_ID = Convert.ToString(bindApplicantTypeID());
        dt.OpenCon();
        try
        {
            string queryCount = "select count(*) from master_applicant where MA_App_Code='" +Type_ID+ "'";
            decimal firstServiceProvider = Convert.ToDecimal(dt.ExecuteScalar(queryCount));
            if (firstServiceProvider > 0)
            {
                SqlDataReader dr = dt.ExecuteReader("select max(convert(numeric,ma_app_code))+1 as ma_app_code from master_applicant  where MA_Appl_type_id='" + Type_ID + "'");
                while (dr.Read())
                {
                    txtEmpCode.Text = dr[0].ToString();
                }
            }
            else
            {
                txtEmpCode.Text = countFirstServiceProvider.ToString();
            }
        }
        catch (Exception ex)
        {
        }
        finally
        {
            dt.Dispose();
        }
        return (txtEmpCode.Text);
    }

解决方案

You can use something like

int codeLength = 3;
            var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            var random = new Random();
            string result = new string(
                Enumerable.Repeat(chars, codeLength)
                          .Select(s => s[random.Next(s.Length)])
                          .ToArray());

            //insert '-' special char at 2nd position, you can change the way you want
            result = result.Insert(2, "-");


这篇关于如何使用varchar设置自动生成的代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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