Esempio n. 1
0
 private void btnCreatPinYin_Click(object sender, EventArgs e)
 {
     try
     {
         string     quanpin = this.addColumn("quanpin");
         string     shouZim = this.addColumn("szm");
         string     hanzi   = this.cmbHanZi.SelectedItem.ToString();
         NameObject nobject = new NameObject();
         nobject.hanzi     = hanzi;
         nobject.shouZim   = shouZim;
         nobject.quanpin   = quanpin;
         nobject.tableName = this.cmbTableName.SelectedItem.ToString();
         ParameterizedThreadStart pt = new ParameterizedThreadStart(DoSomthing);
         Thread t = new Thread(pt);
         t.Start(nobject);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 2
0
 private void DoSomthing(object nobject)
 {
     try
     {
         NameObject nameObject = nobject as NameObject;
         string     quanpin    = nameObject.quanpin;
         string     shouZim    = nameObject.shouZim;
         string     hanzi      = nameObject.hanzi;
         string     tableName  = nameObject.tableName;
         string     msg2       = "开始获取所有数据信息";
         if (this.OnProcessNotify != null)
         {
             this.OnProcessNotify(msg2, 0);
         }
         string            sqlString = "SELECT gid," + hanzi + "," + quanpin + "," + shouZim + " FROM " + tableName + " where " + hanzi + " is not null";
         NpgsqlDataAdapter da        = new NpgsqlDataAdapter(sqlString, dbcon);
         da.UpdateCommand = new NpgsqlCommand();
         da.UpdateCommand.Parameters.Add(new NpgsqlParameter("@" + quanpin, DbType.String, 254, quanpin));
         da.UpdateCommand.Parameters.Add(new NpgsqlParameter("@" + shouZim, DbType.String, 254, shouZim));
         NpgsqlCommandBuilder builder = new NpgsqlCommandBuilder(da);
         DataSet dataset = new DataSet();
         da.Fill(dataset);
         msg2 = "完成获取所有数据信息";
         if (this.OnProcessNotify != null)
         {
             this.OnProcessNotify(msg2, 0);
         }
         DataColumn hanziCol   = dataset.Tables[0].Columns[hanzi];
         DataColumn quanpinCol = dataset.Tables[0].Columns[quanpin];
         DataColumn shouZimCol = dataset.Tables[0].Columns[shouZim];
         int        j          = 0;
         int        count      = dataset.Tables[0].Rows.Count;
         foreach (DataRow row in dataset.Tables[0].Rows)
         {
             j++;
             string sql = "";
             try
             {
                 string hanziValue = row[hanziCol].ToString().Trim();
                 row[quanpinCol] = Hz2Py.GetPinyin(hanziValue);
                 row[shouZimCol] = Hz2Py.GetFirstPinyin(hanziValue);
                 sql             = "update " + tableName + " set " + quanpin + "='" + row[quanpinCol].ToString() + "'," + shouZim + "='" + row[shouZimCol] + "' where gid=" + row[0].ToString();
                 NpgsqlCommand objCommand = new NpgsqlCommand(sql, dbcon);
                 objCommand.ExecuteNonQuery();
             }
             catch
             {
                 LogManager.writeLog("异常:<" + sql + ">语法错误");
             }
             string msg = "已处理路网数据" + j.ToString() + "条,共" + count.ToString() + "条";
             if (this.OnProcessNotify != null)
             {
                 this.OnProcessNotify(msg, (j * 100) / count);
             }
         }
         string msg1 = "处理完成";
         if (this.OnProcessNotify != null)
         {
             this.OnProcessNotify(msg1, 100);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }