C#自动生成流水号的代码怎么写?
答案:5 悬赏:80 手机版
解决时间 2021-04-01 22:22
- 提问者网友:山高云阔
- 2021-04-01 13:17
C#自动生成流水号的代码怎么写?
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-04-01 14:44
///
/// 生成充值流水号格式:8位日期加8位顺序号,如2010030200000056。
///
public string GetSerialNumber(string serialNumber)
{
if (serialNumber != "0")
{
string headDate = serialNumber.Substring(0, 8);
int lastNumber = int.Parse(serialNumber.Substring(8));
//如果数据库最大值流水号中日期和生成日期在同一天,则顺序号加1
if (headDate == DateTime.Now.ToString("yyyyMMdd"))
{
lastNumber++;
return headDate + lastNumber.ToString("00000000");
}
}
return DateTime.Now.ToString("yyyyMMdd") + "00000001";
}
绝对可行。
/// 生成充值流水号格式:8位日期加8位顺序号,如2010030200000056。
///
public string GetSerialNumber(string serialNumber)
{
if (serialNumber != "0")
{
string headDate = serialNumber.Substring(0, 8);
int lastNumber = int.Parse(serialNumber.Substring(8));
//如果数据库最大值流水号中日期和生成日期在同一天,则顺序号加1
if (headDate == DateTime.Now.ToString("yyyyMMdd"))
{
lastNumber++;
return headDate + lastNumber.ToString("00000000");
}
}
return DateTime.Now.ToString("yyyyMMdd") + "00000001";
}
绝对可行。
全部回答
- 1楼网友:天凉才是好个秋
- 2021-04-01 16:57
这个流水号不就是日期吗?追问后面有累加的序号,今天录入的是CP20130104001,CP20130104002,明天录入的是CP20130105003,CP20130105004,这种格式的
- 2楼网友:从此江山别
- 2021-04-01 16:27
不安全的说吧,如果是这种流水号那么在使用的过程中会出现安全隐患
可以是年月日 加上一串随即字符组成
可以是年月日 加上一串随即字符组成
- 3楼网友:风格不统一
- 2021-04-01 16:00
int k=0;
private void button1_Click(object sender, EventArgs e)
{
string data = DateTime.Now.ToString("yyyyMMdd");
string str = "HK" + data;
if (k<10)
{
str = str + "00" + k;
}
else if (k<100)
{
str = str + "0" + k;
}
else
{
str = str + k;
}
textBox1.Text = str;
k++;
}
private void button1_Click(object sender, EventArgs e)
{
string data = DateTime.Now.ToString("yyyyMMdd");
string str = "HK" + data;
if (k<10)
{
str = str + "00" + k;
}
else if (k<100)
{
str = str + "0" + k;
}
else
{
str = str + k;
}
textBox1.Text = str;
k++;
}
- 4楼网友:愁杀梦里人
- 2021-04-01 15:31
可以设计两个字段, 或者是, 你写一个方法然后取出来你要的最大值+ 1然后得到的值, 再做计算,
思路:
1.sql select max(流水号) from 表名
2.比方你上面的, 用字符串截取, 获得去掉前两位的数, 然后获得年月日, 然后呢, 在你的序号上增加一
3.然后等到了你要的数据HK201301050001,
或者, 你建两个字段, 一个显示流水号(也就是你要的值), 一个就不显示, 是这个表的序列号, 然后根据这个序列号去生成你要的HK年月日+ 序列号(也就是第二个字段), 然后得到你要的值,
上面的可以用一个方法实现, 然后呢, 就去调用这个方法就行了追问谢谢您的思路,可不可以帮我写写具体的实现源码,我是初学者,什么都不怎么明白,非常感谢!
思路:
1.sql select max(流水号) from 表名
2.比方你上面的, 用字符串截取, 获得去掉前两位的数, 然后获得年月日, 然后呢, 在你的序号上增加一
3.然后等到了你要的数据HK201301050001,
或者, 你建两个字段, 一个显示流水号(也就是你要的值), 一个就不显示, 是这个表的序列号, 然后根据这个序列号去生成你要的HK年月日+ 序列号(也就是第二个字段), 然后得到你要的值,
上面的可以用一个方法实现, 然后呢, 就去调用这个方法就行了追问谢谢您的思路,可不可以帮我写写具体的实现源码,我是初学者,什么都不怎么明白,非常感谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯