Exemple #1
0
        public void UnloadToDataBase(List <Word> Lw)
        {
            Thread th = new Thread(new ThreadStart(() =>
            {
                try
                {
                    ShowWait?.Invoke(true);

                    var tu = DateTime.Now;

                    string OldTable = _ConInfo.table + "_old";

                    if (TabelExists(OldTable))
                    {
                        DropTable(OldTable);
                    }

                    string strComm = string.Format(" CREATE TABLE {0} LIKE {1}", OldTable, _ConInfo.table);

                    _command.CommandText = strComm;

                    _command.ExecuteNonQuery();

                    strComm = string.Format("INSERT INTO {0} SELECT * FROM {1}", OldTable, _ConInfo.table);

                    _command.CommandText = strComm;

                    _command.ExecuteNonQuery();

                    strComm = string.Format("truncate table {0}", _ConInfo.table);

                    _command.CommandText = strComm;

                    _command.ExecuteNonQuery();

                    foreach (var wd in Lw)
                    {
                        InsertWord(wd);
                    }

                    Writelog("数据上传到数据库完成");

                    _log.Log((DateTime.Now - tu).ToString());

                    ShowWait?.Invoke(false);
                }
                catch (Exception e)
                {
                    WriteError("数据上传到数据库失败\r\n" + e.Message);
                    ShowWait?.Invoke(false);
                }
            }));

            th.IsBackground = true;
            th.Start();
        }
Exemple #2
0
        public List <Word> LoadDataFromDataBase()
        {
            try
            {
                ShowWait?.Invoke(true);

                List <Word> Lw      = new List <Word>();
                var         tu      = DateTime.Now;
                string      strComm = string.Format("select english,chinese,date,search_count from {0}"
                                                    , _ConInfo.table);

                _command.CommandText = strComm;

                _command.ExecuteNonQuery();

                _reader = _command.ExecuteReader();

                Writelog("发送查询整个表");

                while (_reader.Read())
                {
                    string str = _reader.GetString("english");

                    string str1 = _reader.GetString("chinese");

                    string str2 = _reader.GetString("date");

                    string str3 = _reader.GetString("search_count");

                    Word wd = new Word();

                    wd.Chinese = str1;

                    wd.English = str;

                    wd.Date = str2;

                    wd.SearchCount = int.Parse(str3);

                    Lw.Add(wd);
                }

                _reader.Close();

                Writelog("获取结果成功");

                _log.Log((DateTime.Now - tu).ToString());

                ShowWait?.Invoke(false);

                return(Lw);
            }
            catch (Exception e)
            {
                Writelog(e.Message);

                _reader.Close();

                ShowWait?.Invoke(false);

                return(null);
            }
        }