自动生成流水线号

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

自动生成流水线号1、使用C#自动生成四位凭证号

//如果没有数据则返回结果为0,如果有则取出最大的id值DataTable dtPnum =sqlhelper.ExecuteDataTable("select case when max(a_id) is null then'0' end as id FROM tb_account_base");//准备插入的id为刚刚返回的id+1int pnum =Convert.ToInt32(dtPnum.Rows[0][0]) + 1;//从右向左截取4位字符串,显示至页面TextBoxstring str = "0000" +pnum.ToString();labPnum.Text =str.Substring(str.Length - 4, 4);*从右向左截取字符串的一般写法str.Substring(str.Length -i, i);str.Length -i:从倒数第几位开始截取,i:截取几个字符2、在SQL Server中自动生成--创建函数实现数字部分的自增CREATE FUNCTION f_NextXH()RETURNS nvarchar(12)ASBEGINRETURN(SELECT 'XH'+CONVERT(varchar(4),year(GETDATE()))+RIGHT(1000001+ISNULL(RIGHT(MAX(StudentGuid),6),0),6) FROM StudentInfo WITH(XLOCK,PAGLOCK))ENDGO

--在表中应用函数CREATE TABLE StudentInfo(StudentGuid nvarchar(50) PRIMARY KEY DEFAULT dbo.f_NextXH(),StudentName nvarchar(50) NOT NULL,Sex nvarchar(50) NOT NULL,[Identity] nvarchar(50) NOT NULL,Introduction nvarchar(50) NOT NULL,)

再例如:

--创建函数实现数字部分的自增CREATE FUNCTION f_NextCJ()RETURNS nvarchar(15)ASBEGINRETURN(SELECT 'CJ'+CONVERT(varchar(100), GETDATE(), 112)+RIGHT(10001+ISNULL(RIGHT(MAX(ScoreGuid),5),0),5) FROM ScoreInfo WITH(XLOCK,PAGLOCK))ENDGO

--在表中应用函数CREATE TABLE [ScoreInfo](ScoreGuid nvarchar(50) PRIMARY KEY DEFAULT dbo.f_NextCJ(),StudentGuid nvarchar(50) NOT NULL,[Year] nvarchar(50) NOT NULL,[Semester] nvarchar(50) NOT NULL,[Subject] nvarchar(50) NOT NULL,[Score] numeric(8, 2) NOT NULL,[ScoreTime] datetime NOT NULL,)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航