c#中你是如何实现拼音查询得?!(感觉似乎高难???)

thorwin 2003-10-17 02:50:59
比如有一个库
啊 a
张 zhang
刘 liu
你如何实现拼音声母查询?!
...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
烤火的鱼 2003-10-17
  • 打赏
  • 举报
回复
另外说明一下,MyTools.FillReaderInfo(strSql,arrayField,arrayResult,"拼音首字母",MyTools.g_CharSplit)是我做的一个通用查询语句,你可以不管它,你可以用dataset之类查询出来就可以处理了
烤火的鱼 2003-10-17
  • 打赏
  • 举报
回复
我一直是做样做的,首先创建一个表,中间有汉字、拼音首字母等字段,然后用一个函数来查询,函数如下:
/// <summary>
/// 根据姓名自动生成简写
/// </summary>
/// <param name="strName">中文名称</param>
/// <returns>该中文名称的拼音首字母组合</returns>
public static string GetSimpleName(string strName)
{
string strSimple="";
strName=strName.Trim();
DataSet myDataSet=new DataSet();
if(strName.Length>0)
{
string strSql="select * from 拼音首字母";
ArrayList arrayResult=new ArrayList(),arrayField=new ArrayList();
arrayField.Add("汉字");
arrayField.Add("首字母");

if(MyTools.FillReaderInfo(strSql,arrayField,arrayResult,"拼音首字母",MyTools.g_CharSplit) )

{
//分解姓名
for(int i=0;i<strName.Length;i++)
{
char word=strName[i];
//从拼音表中找到该字
foreach(string s in arrayResult)
{
if(s[0]==word)//找到该字
{
strSimple+=s[2].ToString();
break;
}
}//foreach
}
}
}
return strSimple;
}
上面的代码很好懂,修改一下就可以了,我把拼音首字母转换成EXCEL文件,放到ftp://qydn.vicp.net上,你去下载,然后导进你自己的数据库就可以了。
nice90 2003-10-17
  • 打赏
  • 举报
回复
以前看到有人使用字母来取代汉字的查询,例如输入"ZG",可以说明为"中国","中国人"等。
别人是调用微软拼音输入法来做的。
你要实现排序还是查询?
saucer 2003-10-17
  • 打赏
  • 举报
回复
see

http://expert.csdn.net/Expert/topic/2232/2232314.xml?temp=.7161524

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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