ASP.NETはピンインコードによるあいまいなクエリーを実現する方法

1835 ワード

全体のプロセスは2つの部分に分けられます:ピンインコードフィールドを生成して、ピンインコードによってあいまいなクエリーを行います.
ピンインコードフィールドの一括生成の実装:

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("alert('    !');");
 }

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はピンインコードによるあいまいなクエリーを実現した.