求个思路 有代码甚佳

moduofanchen 2011-04-12 03:51:18
添加用户的时候
登录名必须是姓名的拼音
如果数据库中存在同名
则系统自动在拼音后面加01
如果存在01 则加02

基本就是上面的问题了
第1个难点是姓名转拼音
第2个难点就是加01 或02了
怎么去生成这个登录名?
截取?转换数字 再去对比?
最大+1?
...全文
123 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq346127416 2011-04-12
  • 打赏
  • 举报
回复
如果就固定三位的话 可以直接截取

string s = "zhangsan004";
string newName = string.Format("{0}{1:d3}",s.Remove(s.Length-3,3), Convert.ToInt32(s.Substring(s.Length - 3, 3)) + 1);

//newName = zhangsan005
qq346127416 2011-04-12
  • 打赏
  • 举报
回复
取出来 用正则把数字截出来 +1
moduofanchen 2011-04-12
  • 打赏
  • 举报
回复
取出来 然后截取字符串 +1?
qq346127416 2011-04-12
  • 打赏
  • 举报
回复
select name from tb where name = 'zhangsan' or name like 'zhangsan[0-9]__'

这样就把zhangsan 和 zhangsan001 zhangsan004 zhangsan005 都取出来了

然后取最后一条记录 肯定是最大的 在他的数字上加1
moduofanchen 2011-04-12
  • 打赏
  • 举报
回复
select Max(UserName) from tb
这个样子能否?
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 moduofanchen 的回复:]
我又泪奔了~~~~
出现这种情况
张三1到张三8 中间缺了张三3
如果按先前的想法是有几条加几
现在。。。又重名了。。。
再去数据库里判断。。。
又回到以前了。。
话说~~~张三001 张三002 排序能排否?
[/Quote]
楼主真纠结啊。。。能是能排序,
moduofanchen 2011-04-12
  • 打赏
  • 举报
回复
我又泪奔了~~~~
出现这种情况
张三1到张三8 中间缺了张三3
如果按先前的想法是有几条加几
现在。。。又重名了。。。
再去数据库里判断。。。
又回到以前了。。
话说~~~张三001 张三002 排序能排否?
qq346127416 2011-04-12
  • 打赏
  • 举报
回复
select count(name) from tb where name = 'zhangsan' or name like 'zhangsan0_'

if count=0 不加01
else 加上count
  • 打赏
  • 举报
回复
通常的做法,就是在输汉字的地方,添加 onchange事件,在事件中,实现汉字换成拼音。嗯,需要一个字音对照表。
moduofanchen 2011-04-12
  • 打赏
  • 举报
回复
嘿 有几个加几 咋没想到呢
PitTroll 2011-04-12
  • 打赏
  • 举报
回复
客户简直就是畜生啊。姓名转拼音是有专门的类可以的。用递归判断用户名是否存在是可以做的。
qq346127416 2011-04-12
  • 打赏
  • 举报
回复

http://blog.csdn.net/nengzhong/archive/2009/05/23/4210039.aspx
汉字转拼音的类

string pinyin = PinyinHelper.GetPinyin("张三");

后面的好说了 查询数据库里有几个 zhangsan 如果是0不加数字 有几个就加几呗 根据你的需要
moduofanchen 2011-04-12
  • 打赏
  • 举报
回复
获取用户输入的登录名
查询数据库
如果返回大于1
则自动拼接?
如果在大于1
继续拼接?
这个循环咋写?
moduofanchen 2011-04-12
  • 打赏
  • 举报
回复
客户要求。。。客户就是上帝啊~~~泪奔
qiudong_5210 2011-04-12
  • 打赏
  • 举报
回复
不明白为什么要这么做

难道是要求??
  • 打赏
  • 举报
回复
姓名转拼音 却是有难度,判断N次

用名字匹配拼音,在拼接拼音,保存。。。

至于同名,就简单了,在拼接字符串。
yb00k 2011-04-12
  • 打赏
  • 举报
回复
这个应该问题不大。
首先转拼音这个,可以去找个类,去搜索下应该有现成的类转拼音。

转换成拼音了,那么在插入前需要进数据库进行检索一次,检索到相关的数据后证明有此用户,那么自动加01,在数据库检索,这个应该直接写成一个类来完成此次检索功能直到返回为0,那么就返回这个已经修改后的拼音名字。

直接更新此条数据。完毕!
wx8849 2011-04-12
  • 打赏
  • 举报
回复
你的思路不是有了吗?

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧