各位大侠,我是新手。
我碰到一个问题,是关于记录自动编号问题。我的数据库的“id”字段是字符型(char10),我想实现新增加的记录自动编号,格式譬如“NA01SS-00000001”。请各位大侠帮帮我,谢谢!

解决方案 »

  1. 建表时加个ID自动增1的,如下就可以自动编号了
    CREATE TABLE [MAdmPeo] 
    (
      [ID] [numeric](8, 0) IDENTITY (1, 1) NOT NULL ,
      [PeoNo] AS ('NA01SS-'+right(('00000000' + convert(varchar(8),[id])),8)) 
      .....其他字段
    )
    Go
      

  2. yangpeiyu(︷1.Er℡﹎)的方法第一次见到。
      

  3. 我原来的id是用int型的,现在改用字符型,我想用asp.net代码来实现id自动编号的功能。
      

  4. asp.net代码处理的话就更简单啦。
    获取那个最大id出来。然后就直接用"NA01SS-"用这个来加上ID,其实方法跟我那建表的差不多。
      

  5. 你先用条SQL语句
    Select IsNull(Max(Id),0) as MaxId from table然后在代码里用reader取出值。然后就用MaxID="00000000" + Convert.ToString(Int16.Parse(取出来值.ToString()) + 1);
    然后再用"NA01SS-"+MaxID
      

  6. 学习一下yangpeiyu的方法,没试验过,不过应该挺好
      

  7. 如果是sql数据库,可以写个数据库函数,在asp.net里写可能会有并发问题,不如在sql里稳妥。
      

类似问题 »