生成指定格式的流水号

程序应用场景:
1、对数据表的增删改查中的增加数据时,对于主键值得自动生成
2、银行的自动叫号系统

以下是程序代码:

private void codechange()
{
//提前设置流水号的格式;
string onecode = DateTime.Now.ToString("yyyyMMdd") + "p";
// 查找这种格式的流水号在数据库中是否存在
var mimi = _context.Info.Where(p => p.Code.StartsWith(onecode));


//读取数据库数据
//判断info 表中的Code 有没有数据
if (mimi.Count() > 0)
{
var mm = mimi.OrderByDescending(p => p.Code); //按流水号降序排

Info data = mm.First();
int codeflow = Convert.ToInt32(data.Code.Substring(data.Code.Length - 3));// 截取字符串
string codenow = onecode + (codeflow + 1).ToString("000");//组合生成新的流水号
TextBox1.Text = codenow;
Info ss = new Info();
ss.Code = codenow;
_context.Info.InsertOnSubmit(ss);
_context.SubmitChanges();
}

// 如果是第一次查询
else
{
int i = 1;
string codenoow = onecode + i.ToString("000");// 生成指定位数的字符串
TextBox1.Text = codenoow;
Info ss = new Info();
// 提交到数据库
ss.Code = codenoow;
_context.Info.InsertOnSubmit(ss);
_context.SubmitChanges();
}

}

posted on 2015-08-17 08:43  a-po  阅读(336)  评论(0编辑  收藏  举报