首页 > Web开发 > 详细

ASP.NET实现按拼音码模糊查询的方法

时间:2016-02-07 21:04:53      阅读:181      评论:0      收藏:0      [点我收藏+]

整个过程分为两部分:生成拼音码字段、按拼音码进行模糊查询。

批量生成拼音码字段的实现:

protected void Button1_Click1(object sender, EventArgs e)
 {
 string strSQL;
 strSQL = "select mc from TEST001";
 IDataReader dr = dac.DataReaderQuery(strSQL);
 while (dr.Read())
 {
  string mc=dr["mc"].ToString();
  string pym = StrToPinyin.GetChineseSpell(mc);
  if (pym.Length > 6)
  {
  pym = pym.Substring(0, 6);//我这里只去了6位,大家可以看自己爱好而定!
  } 
  string updateSql = "update TEST001 set pym =‘" + pym + "‘ where mc=‘" + mc + "‘";

  dac.update(updateSql);
 }
 dr.Close(); 
 Response.Write("<script>alert(‘操作成功!‘);</script>");
 }

StrToPinyin 类的GetChineseSpell方法(取汉字拼音字母):

public static string GetChineseSpell(string strText)
 {
 if (strText == null || strText.Length == 0)
  return strText;
 System.Text.StringBuilder myStr = new System.Text.StringBuilder();
 foreach (char vChar in strText)
 {
  // 若不是汉字则直接输出 
  if ((int)vChar < 19968 || (int)vChar > 40869)
  {
  myStr.Append(char.ToUpper(vChar));
  }
  else if ((int)vChar >= 19968 && (int)vChar <= 40869)
  {
  // 若字符Unicode编码在编码范围则 查汉字列表进行转换输出 
  foreach (string strList in strChineseCharList)
  {
   if (strList.IndexOf(vChar) > 0)
   {
   myStr.Append(strList[0]);
   break;
   }
  }
  }
 }
 return myStr.ToString();
 }

按拼音码进行模糊查询:

这个简单了,用select查询,where条件用LIKE即可,相信大家一定都会操作。

相信以后在实现按用户输入的拼音码进行数据的模糊查询功能的时候,大家就可以运用今天所学的ASP.NET实现按拼音码模糊查询了。

ASP.NET实现按拼音码模糊查询的方法

原文:http://www.jb51.net/article/72108.htm

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!