程序应用场景:
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();
}
}