string sqlcmdid="select max(AreaId) from Area where ParentId='0'";
string bianhao=Convert.ToString(sqlbind.GetScalar(sqlcmdid));
bianhao=Convert.ToString(Convert.ToInt32(bianhao)+1);
要实现添加一个省,编号自动加1,但是第一个省是01,第二个就是02了,到第10个就是10而不是010可是我写的都是2,怎么出来那个0啊?

解决方案 »

  1.   

    没太明白你的意思..是不是这样?1->01
    2->02
    ..
    9->09
    10->10这个不变..如果是这样,你可以判断一下啊..
    for example:
    string bianhao="05";
    if(bianhao[0]=='0')
    {
       int i=Convert.ToInt32(bianhao.Substring(1))+1;
       if(i=10)
       {
          bianhao=i.ToString();
        }
        else
        {
           bianhao="0"+bianhao;
         }
    }
    else
    {
       bianhao=(Convert.ToInt32(bianhao)+1).ToString();
    }
      

  2.   

    sorry..string bianhao="05";
    if(bianhao[0]=='0')
    {
       int i=Convert.ToInt32(bianhao.Substring(1))+1;
       if(i==10)
       {
          bianhao=i.ToString();
        }
        else
        {
           bianhao="0"+bianhao;
         }
    }
    else
    {
       bianhao=(Convert.ToInt32(bianhao)+1).ToString();
    }
      

  3.   

    string sqlcmdid="select max(AreaId) from Area where ParentId='0'";
    string bianhao=Convert.ToString(sqlbind.GetScalar(sqlcmdid));
    if(Convert.ToInt32(bianhao)>=9)
    {
    bianhao=Convert.ToString(Convert.ToInt32(bianhao)+1);

    }
    else
    {
    bianhao=Convert.ToString(Convert.ToInt32(bianhao)+1);
    bianhao="0"+bianhao;
    }这样就好了
      

  4.   

    TO:if(Convert.ToInt32(bianhao)>=9)
    {
    bianhao=Convert.ToString(Convert.ToInt32(bianhao)+1);

    }
    else
    {
    bianhao=Convert.ToString(Convert.ToInt32(bianhao)+1);
    bianhao="0"+bianhao;
    }
    你这样写有问题吧..比如说你当前的bianhao是05,你用Convet.ToInt32()能将"05"转成5?
    会出异常吧..
      

  5.   

    不好意思,学C#时间不长,我还以为类似"001","003"这样的不能直接转成Int型呢>呵呵,今天又算学了一点..
      

  6.   

    上面写的写错了一句话,所以才会出现你说的情况,改成这样即可:bianhao="0"+bianhao;->bianhao = "0" + i.ToString();
      

  7.   

    知道了类似"05"可以直接转成Int型,那就简单多了,不用再判断首位字符..^_^