C#自动生成流水号的代码怎么写?
C#自动生成流水号的代码怎么写?我是想做这样一件事,在我的主窗体里面有个添加的按钮,当我点击添加按钮的时候,就会弹出一个添加窗体。添加窗体里面有个TextBox。我想当我...
C#自动生成流水号的代码怎么写?
我是想做这样一件事,在我的主窗体里面有个添加的按钮,当我点击添加按钮的时候,就会弹出一个添加窗体。
添加窗体里面有个TextBox。
我想当我点击添加按钮的时候,添加窗体里面的TextBox会自动生成一个像HK20090919001的流水号,当我点击添加窗体里面的确定按钮时,就会把这个流水号添加到数据库里面去,点击取消,就不添加!
每次都自动加一!
请问那位高水知道到这样的流水号代码怎么写啊?
希望知道的高手能写个源代码(包括数据库)发到我的邮箱:731084712@qq.com
或者加我QQ:731084712 发给我!谢谢啦!!! 展开
我是想做这样一件事,在我的主窗体里面有个添加的按钮,当我点击添加按钮的时候,就会弹出一个添加窗体。
添加窗体里面有个TextBox。
我想当我点击添加按钮的时候,添加窗体里面的TextBox会自动生成一个像HK20090919001的流水号,当我点击添加窗体里面的确定按钮时,就会把这个流水号添加到数据库里面去,点击取消,就不添加!
每次都自动加一!
请问那位高水知道到这样的流水号代码怎么写啊?
希望知道的高手能写个源代码(包括数据库)发到我的邮箱:731084712@qq.com
或者加我QQ:731084712 发给我!谢谢啦!!! 展开
5个回答
展开全部
可以设计两个字段, 或者是, 你写一个方法然后取出来你要的最大值+ 1然后得到的值, 再做计算,
思路:
1.sql select max(流水号) from 表名
2.比方你上面的, 用字符串截取, 获得去掉前两位的数, 然后获得年月日, 然后呢, 在你的序号上增加一
3.然后等到了你要的数据HK201301050001,
或者, 你建两个字段, 一个显示流水号(也就是你要的值), 一个就不显示, 是这个表的序列号, 然后根据这个序列号去生成你要的HK年月日+ 序列号(也就是第二个字段), 然后得到你要的值,
上面的可以用一个方法实现, 然后呢, 就去调用这个方法就行了
思路:
1.sql select max(流水号) from 表名
2.比方你上面的, 用字符串截取, 获得去掉前两位的数, 然后获得年月日, 然后呢, 在你的序号上增加一
3.然后等到了你要的数据HK201301050001,
或者, 你建两个字段, 一个显示流水号(也就是你要的值), 一个就不显示, 是这个表的序列号, 然后根据这个序列号去生成你要的HK年月日+ 序列号(也就是第二个字段), 然后得到你要的值,
上面的可以用一个方法实现, 然后呢, 就去调用这个方法就行了
追问
谢谢您的思路,可不可以帮我写写具体的实现源码,我是初学者,什么都不怎么明白,非常感谢!
展开全部
/// <summary>
/// 生成充值流水号格式:8位日期加8位顺序号,如2010030200000056。
/// </summary>
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。
/// </summary>
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";
}
绝对可行。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不安全的说吧,如果是这种流水号那么在使用的过程中会出现安全隐患
可以是年月日 加上一串随即字符组成
可以是年月日 加上一串随即字符组成
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个流水号不就是日期吗?
追问
后面有累加的序号,今天录入的是CP20130104001,CP20130104002,明天录入的是CP20130105003,CP20130105004,这种格式的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询