整个过程分为两部分:生成拼音码字段、按拼音码进行模糊查询。
批量生成拼音码字段的实现:
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汉字转拼音和获取汉字首字母的代码asp.net 自动将汉字转换成拼音第一个字母asp.net(C#)把汉字转化成全拼音函数(全拼)asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法)asp.net 汉字转换拼音及首字母实现代码ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)