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(); }
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); } }