环境:有数据库表
b_id | b_num |
5 | 000006 |
5 | 000005 |
4 | 000004 |
3 | 000003 |
2 | 100002 |
2 | 100001 |
1 | 000007 |
1 | 000002 |
1 | 000001 |
正常编号是从000001开始,+1递增,但是现实总是有差异的,如表中所示,有三个是手动修改了,编写函数是在上表的情况下,获取下一个的b_num是什么。
static void Main(string[] args)
{
string s=get_num();
}
private string getnum_txm(){
num = get_b_num();//与数据库操作,查询语句是:select top 1 b_num from b_table order by b_id desc,b_num desc
num= (int.Parse(num) + 1).ToString("000000");
if(Exist_txm(num_)==false){
num=round(num_txm);
}
return num;
}
private string round(string num){
bool a=false;
while(a==false){
num = (int.Parse(num) + 1).ToString("000000");
a=Exist_txm(num);//与数据库交互查询,是否存在相应的记录,语句是:select * from b_book where b_num='"+ num +"'
}
return num;
}
大致思路如上,如有更好的方法,请留言!