ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考

简介:

ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)

我们在日常开发项目过程中往往需要各种订单单号的产生方法,而且是支持多用户并发、支持多种数据库的,我们并不想为每个项目都写一些独立的代码去实现这些功能,往往需要有个通用的函数比较爽一些。

 下面我们以C#.NET通用权限管理系统组件源码的做法,给大家来一个参考,下面是序列(流水号)管理器的效果,这里保存着各种需要的当前状态。

2011022801.png

 这里是代码的具体位置参考

2011022802.png

这里是程序运行效果参考,可以通过函数获取当前的序号、编号等等,可以灵活设置要几位长度的编号,是否补前导零,从几开始编号等等。

2011022803.png

这个是服务层的并发处理方法参考

2011022804.png


这里是具体的页面上的代码参考,程序里只需要一行代码,就可以获取自动流水号、序号、编号等全智能的实现,用起来会很爽,而且可以生成各种类别的订单号,甚至可以讲是任意的都可以,不要折腾太多飞机了,而且还支持多种数据库,不用针对每种数据库又编写代码了,哪个项目都可以灵活用,全部的源码也可以提供。


// --------------------------------------------------------------------
//  All Rights Reserved , Copyright (C) 2011 , Hairihan TECH, Ltd. 
// --------------------------------------------------------------------

using  System;

namespace  DotNet.WebForm
{
using  DotNet.Service;

/// <remarks>
///  OrderNumber
///  序号产生方式、并发序号发生、唯一编号产生
///
///  修改纪录
///
///         版本:1.0 2011.02.28    JiRiGaLa    初步创建。
///
///  版本:1.0
/// <author>
/// <name> JiRiGaLa </name>
/// <date> 2011.02.28 </date>
/// </author>
/// </remarks>
public partial class  OrderNumber : BasePage
   {
protected void  Page_Load( object  sender, EventArgs e)
       {
       }

private void  GetOrderNumber()
       {
string  orderName  = string .Empty;

//  1.按年产生订单序号。
           orderName  = " Order: " +  DateTime.Now.ToString( " yyyy " );
//  获取原编号
//  ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
//  这里是编号增加一的动作
this .txtOrderNumber1.Text  =  ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName,  0 5 true );

//  2.按年月产生订单序号。
           orderName  = " Order: " +  DateTime.Now.ToString( " yyyyMM " );
//  ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
//  这里是编号增加一的动作
this .txtOrderNumber2.Text  =  ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName,  0 5 true );

//  3.按年月日产生订单序号。
           orderName  = " Order: " +  DateTime.Now.ToString( " yyyyMMdd " );
//  ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
//  这里是编号增加一的动作
this .txtOrderNumber3.Text  =  ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName,  0 5 true );

//  4.按类别产生订单序号。
           orderName  = " Order: " + " StockOut " ;
//  ServiceManager.Instance.SequenceService.GetOldSequence(this.UserInfo, fullName, 0, 5, true);
//  这里是编号增加一的动作
this .txtOrderNumber4.Text  =  ServiceManager.Instance.SequenceService.GetNewSequence( this .UserInfo, orderName,  0 5 true );
       }

protected void  btnGetOrderNumber_Click( object  sender, EventArgs e)
       {
this .GetOrderNumber();
       }  
   }






本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1200771,如需转载请自行联系原作者
相关文章
|
1月前
|
SQL 关系型数据库 数据库
事务隔离级别:保障数据库并发事务的一致性与性能
事务隔离级别:保障数据库并发事务的一致性与性能
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
37 4
|
1月前
|
存储 安全 算法
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
57 0
|
2月前
|
编解码 开发框架 人工智能
Google Earth Engine(GEE)——基于粮农组织秘鲁Penman-Monteith的参考ET网格化数据库(PISCOeo_pm)
Google Earth Engine(GEE)——基于粮农组织秘鲁Penman-Monteith的参考ET网格化数据库(PISCOeo_pm)
18 0
|
2月前
|
前端开发 数据库连接 数据库
ASP.NETMVC数据库完整CRUD操作示例
ASP.NETMVC数据库完整CRUD操作示例
32 0
|
4月前
|
Java 数据库 索引
最强阿里及大厂350道面试大全:框架+数据库+并发+开源+微服务
无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上,而忽略了人事部分,实际上人事面试也会影响到最终的结果,把每一个环节做好,最终的结果自然不会差。
|
4月前
|
关系型数据库 MySQL 数据库
史上最全的MySQL性能手册(优化+SQL+并发+数据库)
史上最全的MySQL性能手册(优化+SQL+并发+数据库)
|
4月前
|
运维 关系型数据库 MySQL
MySQL DBA的必备参考,两位数据库资深专家呕心沥血之作
互联网发展至今,开源软件已经深入人心,并且受到广泛的支持和响应,很多公司在使用开源软件的同时也输出了一些好的开源产品。MySQL 作为当今世界.上最受欢迎的开源数据库产品之一,在很多互联网企业里起到了不可或缺的作用。由于MySQL的诸多特性,比如开源免费、灵活、轻量简单且越来越多的企业开始使用MySQL,在业界诞生了一大批相关从业者,他们研究MySQL的原理,探讨MySQL的架构,完善MySQL的运维,丰富MySQL的工具,促进MySQL的发展,我们称这些人为MySQL DBA,而本人也是其中之一,深感荣幸。
|
5月前
|
中间件 Java 应用服务中间件
重磅!基础+Spring+并发+调优+微服务+数据库+中间件已肝完
在金三银四时也参与过不少面试,2021都说工作不好找,也是对开发人员的要求变高。前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记,今天在这免费分享给大家,希望大家在即将的十月面试做好复习,长期的积累和短期的突击让自己能找到一个满意的工作!
|
6月前
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
49 0