seriel数字生成器,每次启动应用程序时从0开始

时间:2018-07-07 09:00:49

标签: c#

单击按钮时,我需要将序列号存储在带有记录的数据库中,到目前为止,我已经做到了,并且它可以生成序列号,但是退出应用程序并再次启动序列号时出现问题再次从0开始,这不起作用,因为在数据库中它的主键。所以我需要它继续从中断处继续。对不起,如果我不能解释清楚

public static class SequentialNumber
{
   private static int id=0;
   public static string GetId()
   {
        id++;
        return id.ToString();
   }
 }

1 个答案:

答案 0 :(得分:3)

您有多种解决此问题的方法

  1. 将“主键”列设置为Auto Increment column,这将为您提供DB中的序列号,而无需为此编写和c#代码。
  2. 在应用程序出口上存储最后的序列号,然后从数据库中读取最后一个可用的序列号并加载
  3. 使用文件代替数据库

注意:-:如果删除了存储计数器的文件,则计数器将从0开始

public static class SequentialNumber
{
    private static int id=0;
    public static string GetId()
    {
        if(id==0)
        {
            Int32.TryParse(File.ReadAllText("count.txt"),out id);
        }
        id++;
        File.WriteAllText("count.txt", id.ToString());
        return id.ToString();
    }
}