當前位置:
首頁 >
ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)...
發布時間:2025/3/8
44
豆豆
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??我們在日常開發項目過程中往往需要各種訂單單號的產生方法,而且是支持多用戶并發、支持多種數據庫的,我們并不想為每個項目都寫一些獨立的代碼去實現這些功能,往往需要有個通用的函數比較爽一些。
??下面我們以C#.NET通用權限管理系統組件源碼的做法,給大家來一個參考,下面是序列(流水號)管理器的效果,這里保存著各種需要的當前狀態。
?
??這里是代碼的具體位置參考?
這里是程序運行效果參考,可以通過函數獲取當前的序號、編號等等,可以靈活設置要幾位長度的編號,是否補前導零,從幾開始編號等等。?
這個是服務層的并發處理方法參考?
?
?這里是具體的頁面上的代碼參考,程序里只需要一行代碼,就可以獲取自動流水號、序號、編號等全智能的實現,用起來會很爽,而且可以生成各種類別的訂單號,甚至可以講是任意的都可以,不要折騰太多飛機了,而且還支持多種數據庫,不用針對每種數據庫又編寫代碼了,哪個項目都可以靈活用,全部的源碼也可以提供。
?
//--------------------------------------------------------------------//?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();
????????}??
????}
}?
?
總結
以上是生活随笔為你收集整理的ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net 实现一级域名与二级域名共
- 下一篇: c#中使用多线程访问winform中控件