把获取汉字首字母的程序编成dll供大家使用与参考

//将所有国标汉字的拼音首字母取出来,放到一个表中,然后查出.,也windows 98等自带的//输入法生成器,逆转化一下拼音输//入法的码表

本文章是提供大家参考.并已写成dll文件给大家使用.

public  string Getpingyin(string strName,System.Data.OleDb.OleDbConnection con,System.Data.SqlClient.SqlConnection sqlcon)
  {
   System.Data.SqlClient.SqlDataAdapter sqlda;
   System.Data.OleDb.OleDbDataAdapter oleda;
   string strSimple="";
   strName=strName.Trim();
   System.Data.DataSet myDataSet=new System.Data.DataSet();
   if(strName.Length>0)
   {
    for(int num=0;num<strName.Length;num++)//不准用户输入非汉字
     if(Convert.ToInt32(strName[num])<=255)
     {

      System.Windows.Forms.MessageBox.Show("你输入的字符/"  "+strName[num].ToString()+"/"不是汉字,请更正","错误",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Stop);
      return "";
      
     }

    string strSql="select 汉字,首字母 from 拼音首字母";
    string strWhere=" where 汉字='"+strName[0].ToString()+"'"; //查询汉字,与字母的SQL
    for(int i=1;i<strName.Length;i++)
    {
     strWhere+=" or 汉字='"+strName[i].ToString()+"'";
    }
    strSql+=strWhere;
    if(con!=null)//看用户是用那个名字空间类.
    {
     oleda=new System.Data.OleDb.OleDbDataAdapter(strSql,con);
     oleda.Fill(myDataSet,"拼音首字母");
    }
    else
     
    {
     sqlda=new System.Data.SqlClient.SqlDataAdapter(strSql,sqlcon);
     sqlda.Fill(myDataSet,"拼音首字母");
    }
    for(int j=0;j<strName.Length;j++)//按汉字顺序找出相关的字母.
    {
     for(int k=0;k<myDataSet.Tables["拼音首字母"].Rows.Count;k++)
     {
      if(strName[j].ToString()==myDataSet.Tables["拼音首字母"].Rows[k]["汉字"].ToString())
      {
       strSimple+=myDataSet.Tables["拼音首字母"].Rows[k]["首字母"].ToString();
       break;

      }
     }
    }
    myDataSet.Clear();    
    
    return strSimple;//得到字母
    
   }

   return "";

  }

//用法例子
//OleDbConnection con=new .........;
//Getpingyin("我",con,null);返回w

下面这个是数据库文件,是取自别人的.想要dll文件的,与我联系huangweiling@126.com

http://www.lqjt.com/data/py.rar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值