c# 自动生成规则字符串序号
YCGK100817001这样的字符串前二位(YC)是公司名称接着二位(GK)是车辆类型接下来6位(100817)是日期最后三位(001)是当天的序号,每天从001开始往...
YCGK100817001 这样的字符串 前二位(YC)是公司名称 接着二位(GK)是车辆类型 接下来6位(100817) 是日期 最后三位(001)是当天的序号,每天从001开始往上加 这样的应该 怎么写自动生成的方法呢
1楼,你好像只是把我的算法重复了一下,我要的怎么代码,怎么写的。 展开
1楼,你好像只是把我的算法重复了一下,我要的怎么代码,怎么写的。 展开
3个回答
展开全部
string strID = "YCGK100817001"; //获取的最大编号
string strDate = strID.Substring(4,6);
string nowDate = DateTime.Now.ToString("yyMMdd");
string strNum = "";
/**
这一部分只是主要的方法,前提是编号已经获取并且格式是固定的
* 即:YC+GK+100817+001
* 公司名称+是车辆类型+日期+序号
* 而后我只写了对于同一公司名称同一车辆类型根据日期来设置它的编号
* 至于根据公司名称或是车辆类型生成字符串,
* 可以参照这个方法来,以前我也写过一个这样的方法,
* 不过上面的步骤都是通过SQL语句来的
* 就是根据这三个字符串(公司名称+是车辆类型+日期)来找到最大的编号
* 找到了就给它+1,如果没有找到的话就直接赋值为:"001"了
*
*/
//如果当前日期和给定的日期相同则加1,否则将顺序号设为“001”
if (strDate.Equals(nowDate))
{
int num = Int32.Parse(strID.Substring(strID.Length - 3, 3));
num += 1;
strNum = num.ToString("000");
}
else
{
strNum = "001";
}
string newStrID = strID.Substring(0, 4) + nowDate + strNum;
string strDate = strID.Substring(4,6);
string nowDate = DateTime.Now.ToString("yyMMdd");
string strNum = "";
/**
这一部分只是主要的方法,前提是编号已经获取并且格式是固定的
* 即:YC+GK+100817+001
* 公司名称+是车辆类型+日期+序号
* 而后我只写了对于同一公司名称同一车辆类型根据日期来设置它的编号
* 至于根据公司名称或是车辆类型生成字符串,
* 可以参照这个方法来,以前我也写过一个这样的方法,
* 不过上面的步骤都是通过SQL语句来的
* 就是根据这三个字符串(公司名称+是车辆类型+日期)来找到最大的编号
* 找到了就给它+1,如果没有找到的话就直接赋值为:"001"了
*
*/
//如果当前日期和给定的日期相同则加1,否则将顺序号设为“001”
if (strDate.Equals(nowDate))
{
int num = Int32.Parse(strID.Substring(strID.Length - 3, 3));
num += 1;
strNum = num.ToString("000");
}
else
{
strNum = "001";
}
string newStrID = strID.Substring(0, 4) + nowDate + strNum;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询