asp.net给文件分配自动编号,如【20140710-1】

在开发办公软件的时候,需要给很多文件什么的东西分配一个编号,是按照日期来的,比如2014.07.10的第一个文件编号就为20140710-1,这一天的第二个文件编号就为20140710-2,以此类推......

我在最近的编程开发中也遇到了类似的问题,经常好几次的修改,终于出来一下方法,较之修改前,这中方法的编号紊乱率大大降低,因为不可能在一个相同时间(精确到秒,甚至更小),两个人同时操作。

不扯这些了,我这个只是自己弄出来的一个方法,也希望大家能找到更好的方法,能完全解决两个人同时操作的问题,下面就直接上代码了

public string autoNum()
    {
        string serialnum = string.Empty;
        string tyear = DateTime.Now.Year.ToString();
        string tmonth = DateTime.Now.Month.ToString();
        if (Convert.ToInt32(tmonth) < 10)
        {
            tmonth = "0" + tmonth;
        }
        string tday = DateTime.Now.Day.ToString();
        if (Convert.ToInt32(tday) < 10)
        {
            tday = "0" + tday;
        }
        string prefixdate = tyear + tmonth + tday;
        SqlHelp sqlx = new SqlHelp();
        string strfacx = "select * from tLabelConfirm where SerialNumber like '%" + prefixdate + "%'";//tLabelConfirm是我的一个数据表,而SerialNumber是该表中的一个唯一字段,也就是文件编号
        SqlDataReader drx = sqlx.ExecuteReader(strfacx);//代码中的数据表和字段,可以根据自己的实际情况而修改的哦
        drx.Read();
        if (drx.HasRows)
        {
            drx.Dispose();
            sqlx.SqlClose();
            string ser = string.Empty;
            SqlHelp sqly = new SqlHelp();
            string strfacy = "select top 1 * from tLabelConfirm where SerialNumber like '%" + prefixdate + "%' order by LabelID desc";
            SqlDataReader dry = sqly.ExecuteReader(strfacy);
            dry.Read();
            if (dry.HasRows)
            {
                ser = dry["SerialNumber"].ToString();
            }
            dry.Dispose();
            sqly.SqlClose();
            string suf = ser.Substring(ser.IndexOf("-") + 1);
            int suffix = Convert.ToInt32(suf) + 1;
            serialnum = prefixdate + "-" + suffix.ToString();
        }
        else
        {
            drx.Dispose();
            sqlx.SqlClose();
            serialnum = prefixdate + "-" + "1";
        }
        return serialnum;
    }

asp.net给文件分配自动编号,如【20140710-1】

时间: 2024-08-24 17:50:46

asp.net给文件分配自动编号,如【20140710-1】的相关文章

ACCESS自动编号重新从1开始

方法一:  删掉自动编号的字段,再建一个同样的自动编号字段. 方法二:  选择工具,再选择数据库实用工具,单击压缩和修复数据库,这样就OK了. 方法三:(提示错误“无效的数据字段类型” 尝试失败)  1.在access里新建一个查询.  2.把视图改为sql视图.  3.在里面输入  ALTER TABLE 表名 ALTER COLUMN [自动编号字段名] COUNTER (你要的初始值, 1)  例如:  ALTER TABLE [user] ALTER COLUMN [id] COUNTE

SQL第三课-自动编号与初涉约束

自动编号:auto_increment一张数据表中,要设定字段的唯一性,就会用到编号,确保编号的唯一性是避免重名和数据混乱的一种方式.主键,一张表只能并只有一个.在创建字段表时,指定 PRIMARY KEY;设置自动编号的记录一定要设置为主键.举例创建数据表3CREATE TABLE tb3(id SMALLINT UNSIGEND PRIMARY KEY AUTO_INCREMENT,usernname VARCHAR(20) NOT NULL);查看数据表的基本结构:show columns

access 清空后,自动编号怎么才能从0开始

把原来内容清空以后,自动编号,就会从原来的编号继续往下排列.我想从0开始重新计算.改怎么操作呢.我再百度上找到了.这个方法,记录下来.下次再用到方便找. 1.在access里新建一个查询.2.把视图改为sql视图.3.在里面输入  ALTER TABLE 表名 ALTER COLUMN [自动编号字段名] COUNTER (你要的初始值, 1)  例如:  ALTER TABLE [user] ALTER COLUMN [id] COUNTER (1, 1)4.运行后,编号就从1开始了.

sql查询时增加自动编号

查询时加序号  a:没有主键的情形: Select   identity(int,1,1)   as   iid,*   into   #tmp   from   TableName   Select   *   from   #tmp   Drop   table   #tmp b:有主键的情形: Select   (Select   sum(1)   from   TableName   where   KeyField   <=   a.KeyField)   as   iid,*   f

织梦dedecms自动编号autoindex和itemindex的使用

1.简介 自动编号属性(autoindex和itemindex):在列表循环中自增的一个编号,默认从0开始.在dedecms中以下三个标签含有这个属性. arclist 标签下使用 [field:global.autoindex/] channel 标签下使用 [field:global.autoindex/] channelartlist 标签下使用 {dede:global.itemindex/} 2.应用 使用自动编号属性,可以实现很多功能,如:每隔n条换行.隔行换色等功能. 示例1:每输

word自动编号后面空格位置太大了

选择你需要调整的段落.右键点击.选择“调整列表缩进” 然后在弹出的窗口中,第三行的“制表符”改成“空格”即可.或者空格都不需要可以改为“不特别标注” word自动编号后面空格位置太大了,布布扣,bubuko.com

SQL 主键 自动编号 主键自增

1.新建一数据表,里面有字段id,将id设为为主键 代码如下: create table tb(id int,constraint pkid primary key (id)) create table tb(id int primary key ) 2.新建一数据表,里面有字段id,将id设为主键且自动编号 代码如下: create table tb(id int identity(1,1),constraint pkid primary key (id)) create table tb(i

sql 复杂自动编号错误批量修改方案

[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/5133953.html]  前提:自动编号为18位,前4位是年份,中间10位是XXXX,最后四位是0001-9999的自动编号. 问题:某天发现2016年自动编号后四位从0001-0081后变为7328-8530,出现编号错乱问题(原因未知待查).但数据需要马上批量重置,否则后续编号将继续错误. 方案:截取2016年份的前14位拼接后4位正确自动编号.实现如下: --查询2016年我司项目编号

word 文献标题自动编号

来自:word中自动编号和多级编号的使用 选中标题或段落,点击鼠标右键,在编号菜单内选择适合的自动编号样式.或者在窗口上方的“开始”选项卡中选择编号样式.如果对已选的编号样式不满意,可以照以上方法直接更换. 如果编号需要重新开始,可选中编号点击右键,在菜单中选择“重新开始于1” 多级编号的使用和单级类似,插入方法参考下图. 多级编号插入后,默认为1级,如果想让编号变为2级或以下,需要选中编号按Tab键,按一次降一级,以此类推. 多级编号在使用中,有时会用到自定义的类型,如下图进行自定义.可对每一