帮我看看我这里有什么错!牛人请进
string   persIdSql   =    "select      case   when   max(convert(bigint,pers_id))   is   null   then   0   else   max(convert(bigint,pers_id))   end   +100000001   as   id   from   tab_pers_info "; 
 string   id   =   (new   SqlDb()).Tb(persIdSql).Rows[0][ "id "].ToString(); 
 char   persid   =Convert.ToChar(   id.Substring(1,   id.Length   -   1));   
 我有这样一个表   
 表1   
 pers_id               pers_name 
 00000001            小红 
 00000002            小张 
 00000003            小华   
 这个时候我想插入这样的记录   00000004         小陈   
 就变成了下面这样 
 pers_id               pers_name 
 00000001            小红 
 00000002            小张 
 00000003            小华 
 00000004            小陈   
 请问怎么实现 
------解决方案--------------------1.建个function或者sp-----获取pers_id  
  2.每次插入时,pers_id就从那个function或者sp处取值即可.   
  注:为了防止并发操作,建议具体获取方法为:   
   1.新建一个表,包含一个自增长字段id 
   2.每次都取不通的id出来 
   3. c#将此id格式化,类似你的(00000004 ).