多语言展示
当前在线:139今日阅读:19今日分享:20

织梦批量为地区添加地区拼音

用织梦在做地区性网站时,网站页面url 经常会用到地区拼音,这样做对用户和搜索引擎都非常友好,一目了然,对于dede_area 表,近500个地区的信息一个一个手动输入拼音,不仅效率低,而且容易出错。为此我们在 《zp实例教程之中文拼音转换》(http://jingyan.baidu.com/article/335530da9d0a1619cb41c319.html)基础上,进行批量转换,批量上传到数据库中。
工具/原料
1

Zennoposter

2

mysql数据库连接组件mysqldata.dll

方法/步骤
1

下载mysql组件MySqlData.dllZennoposter没带mysql连接组件,因些需要手动到网上下载组件文件。

2

添加引用将下载下来的mysqldata.dll文件添加到项目中:打开project explorer窗口,在references上右键 add reference(添加引用),找到下载的mysqldata.dll文件,添加到项目中。

3

按下图方式为织梦dede_area表添加pinyin字段。

4

建立数据库连接,并设计数据库查询语句如下:var command = new MySql.Data.MySqlClient.MySqlCommand(); string connectionString = 'Data source=localhost;UserId=root;Password=数据库密码;database=数据库名;charset='utf8''; string sql='select id,name,pinyin from dede_area'; command.CommandText = sql;

5

执行数据库查询命令,同时对获取的数据进行必要删除空格等处理,以获取正确的地区拼音信息。

6

对处理后的地区 按上一期经验-《zp实例教程之中文拼音转换》(http://jingyan.baidu.com/article/335530da9d0a1619cb41c319.html)进行转换,并保存到数据库dede_area中的pinyin 字段里面

7

循环获取地区,处理,获取拼音,上传到数据库,不到五分钟完成近500个地区的汉字转拼音工作,本期全部完整代码如下:DataTable dt=new DataTable(); var command = new MySql.Data.MySqlClient.MySqlCommand(); string connectionString = 'Data source=localhost;UserId=root;Password=密码;database=数据库名;charset='utf8''; string sql='select id,name,pinyin from dede_area'; command.CommandText = sql; string result=string.Empty; try {  command.Connection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); } catch(Exception e) {        result =e.Source+ ' MySql connect failed'; } try {        command.Connection.Open();       MySqlDataAdapter mda=new MySqlDataAdapter(command); mda.Fill(dt); for(int i=0;i2) province=province.Replace(s,''); } int id=Convert.ToInt32(dt.Rows[i]['id'].ToString()); string py=ActionGroup1.Execute(instance, project,province); string pattern=@'[^a-zA-Z]'; System.Text.RegularExpressions.Regex reg=new System.Text.RegularExpressions.Regex(pattern); py=reg.Replace(py,''); sql='update dede_area set pinyin=''+py+'' where id='+id; command.CommandText = sql; command.ExecuteNonQuery(); } } } catch (MySql.Data.MySqlClient.MySqlException e) {        result = String.Format('MySql reader exception: {0}', e.Message); } finally {    command.Connection.Close(); }

注意事项

新版zp已集成数据库连接组件

推荐信息