环境:有数据库表
| 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;
}
大致思路如上,如有更好的方法,请留言!

该博客介绍了一个使用C#实现的检查循环编号是否重复的方法。通过查询数据库获取最新的编号,然后递增并检查是否已存在,若存在则继续递增,直到找到未使用的编号。博主邀请读者分享更优的解决方案。

被折叠的 条评论
为什么被折叠?



