当前位置:编程学习 > C#/ASP.NET >>

问大家一个简单的问题???

现在有一个库房管理的程序,需要在添加新库房时,先得出数据库中库房编号的最大值,然后每添加一个新库房时就在查出的最大库房值的基础上+1,(库房编号默认从0001开始)例如现在库房编号的最大值为0017 ,如果添加一个新库房,那么新库房的编号就是0018

但是:
数据库中库房编号以char(4)的类型存放,我在使用select max(库房编号) 得到一个字符串 例如:string maxId="0017"
然而我要进行添加操作时 原本是要把这个字符串转换为 int型再加一 例如 int nMaxID= Convert.ToInt32(maxId);
然后再将int型转为string 后传入数据库;
但问题是如果现在数据库中最大的库房ID为"0017",转换为int型,就是17,加1则是18,而不是要求的0018
请问大家这个问题该怎么做啊 --------------------编程问答-------------------- 最笨的方法,根据nMaxID.ToString().Length的多少在其前面补0再插入库中 --------------------编程问答-------------------- 具体的函数我记不太清了,其实进行如下分支处理就行了:
if (nMaxID<1000)
   maxID="0"+maxID;
if (nMaxID<100)
   maxID="0"+maxID;
字符串的合并记不太清了,你自己查一下
--------------------编程问答-------------------- ojlovecd说的也是唯一可靠的方法 --------------------编程问答--------------------

string getMaxID(int id)
{
     id++;
     if (id.ToString().Length == 4) return id.ToString();
     return new string('0', 4 - id.ToString().Length) + id;
}
--------------------编程问答--------------------
引用 4 楼 smntbk 的回复:
C# code
string getMaxID(int id)
{
     id++;
     if (id.ToString().Length == 4) return id.ToString();
     return new string('0', 4 - id.ToString().Length) + id;
}

学习! --------------------编程问答--------------------
引用 5 楼 DongloveRen 的回复:
引用 4 楼 smntbk 的回复:
C# code 
string getMaxID(int id) 

    id++; 
    if (id.ToString().Length == 4) return id.ToString(); 
    return new string('0', 4 - id.ToString().Length) + id; 

 
学习!
--------------------编程问答--------------------
引用 6 楼 cooolbin 的回复:
引用 5 楼 DongloveRen 的回复:
引用 4 楼 smntbk 的回复: 
C# code 
string getMaxID(int id) 

    id++; 
    if (id.ToString().Length == 4) return id.ToString(); 
    return new string('0', 4 - id.ToString().Length) + id; 


学习! 
--------------------编程问答--------------------
string getMaxID(int id)
{
     id++;
     return new string('0', 4 - id.ToString().Length) + id;
}

也可
--------------------编程问答-------------------- id.ToString("0000"); --------------------编程问答-------------------- Convert.ToInt32(maxId).ToString("0000");  --------------------编程问答-------------------- int nMaxID= Convert.ToInt32(maxId)  + 1 ; 
nMaxID.ToString("0000")
哈哈楼上一样的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,