• 自动生成流水线号


    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+1
    int pnum =Convert.ToInt32(dtPnum.Rows[0][0]) + 1;
    //从右向左截取4位字符串,显示至页面TextBox
    string 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)
    AS
    BEGIN
    RETURN(SELECT 'XH'+CONVERT(varchar(4),year(GETDATE()))+RIGHT(1000001+ISNULL(RIGHT(MAX(StudentGuid),6),0),6) FROM StudentInfo WITH(XLOCK,PAGLOCK))
    END
    GO

    --在表中应用函数
    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)
    AS
    BEGIN
    RETURN(SELECT 'CJ'+CONVERT(varchar(100), GETDATE(), 112)+RIGHT(10001+ISNULL(RIGHT(MAX(ScoreGuid),5),0),5) FROM ScoreInfo WITH(XLOCK,PAGLOCK))
    END
    GO

    --在表中应用函数
    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,)

  • 相关阅读:
    5.7
    人月神话阅读笔记1
    python汉诺塔问题的递归理解
    用python进行有进度条的圆周率计算
    使用Python+turtle绘制同心圆
    less.modifyVars方法切换主题样例
    npm简单插件开发流程
    Mac中执行yarn global add @vue/cli 成功后,执行vue --version 提示zsh: command not found: vue 解决方法
    执行yarn deploy打包,报内存溢出的错误解决办法
    为首屏增加加载动画
  • 原文地址:https://www.cnblogs.com/zhouhb/p/4440710.html
Copyright © 2020-2023  润新知