Exemplo n.º 1
0
 public UCShujuku()
 {
     InitializeComponent();
     _cchelper = new ControllerClickhouse();
 }
Exemplo n.º 2
0
 private void Button1_Click(object sender, EventArgs e)
 {
     ControllerClickhouse mycontroller = new ControllerClickhouse();
     var dt = mycontroller.GetDataFromTable("select * from rt1");
 }
Exemplo n.º 3
0
        /// <summary>
        /// 查重单行
        /// </summary>
        public void SearchRepeat(object o)
        {
            chhelper = new ControllerClickhouse();
            string starttime  = DateTime.Now.ToString("yyyyMMdd-HH:mm");
            int    chongfunum = 0;                         //存储重复条数

            List <string> list_same = new List <string>(); //存储重复文件

            /*由于同时存在停止查重的stopsearch方法,该方法通过改变stop的值来进行实现,为防止
             *为防止执行了一次stopsearch方法后无法重新查询,所以需要先重新赋值stop=false
             * 查重时分为两种情况,首先分离标题与正文,然后查找正文所转化的md5再标准正文表中的md5编号,如果
             * 存在那么进度显示为100%,重复率显示为100%(标准正文)
             * 如果不存在相同编号,那么连同标题进行正常的标准句查询,查询时更新进度与重复率
             * 判断setting中的设置是否入库,如果是的话需要将所有的不重复句子,以及md5加密后的正文添加进入数据库
             */
            DataGridViewRowCollection rows  = o as DataGridViewRowCollection;
            DataGridViewRow           myrow = null;

            //a = (row) =>
            // {
            foreach (UCDatabase ucdb in Setting.list_ucdb)
            {
                int chongfuevery = 0;
                //更新颜色,正在查询中
                ucdb.BackColor = Color.LightSkyBlue;
                Setting._zhengwenchachongbiao = ucdb.lbl_dbname.Text;

                stop = false;
                //对每一行开始查询
                foreach (var item in rows)
                {
                    if (stop)
                    {
                        break;
                    }
                    myrow = item as DataGridViewRow;
                    //在标准正文表中查找标准正文
                    //这里需要修改,对每一行查重结束之后,需要返回
                    if (Setting._zhengwenchachong)
                    {
                        string chongfulv = string.Empty;

                        ZhengwenChachong(myrow, ref chongfulv);

                        //刷新重复条数
                        if (chongfulv.Equals("重复"))
                        {
                            chongfunum++;
                            chongfuevery++;
                            list_same.Add(myrow.Cells["wendangming"].Value.ToString());
                        }
                    }
                    if (Setting._cijuchachong)//选择词句查重时进行的流程
                    {
                        CijuChachong(myrow);
                    }
                }
                //更新颜色,完成查询
                ucdb.BackColor = Color.MediumSeaGreen;
                //显示重复数量
                UpdateText(ucdb.lbl_chongfu, chongfuevery);
            }
            //写入查重日志
            StringBuilder mysb    = new StringBuilder();
            string        endtime = DateTime.Now.ToString("yyyyMMdd-HH:mm");

            mysb.AppendLine($"{starttime}————{endtime}  {rows.Count}条  重复{chongfunum}条");
            list_same.ForEach((same) => { mysb.AppendLine($"{list_same.IndexOf(same)}.{same}"); });
            mysb.AppendLine();

            //获得查重日志,如果没有的话创建
            StreamWriter sw = new StreamWriter(Setting._rizhilujing, true);

            sw.WriteLine(mysb);
            sw.Flush();
            sw.Close();

            // };
            //a.BeginInvoke(myrow, null, null);
        }