partial void DeleteLive_Table_lib(Live_Table_lib instance);
partial void UpdateLive_Table_lib(Live_Table_lib instance);
partial void InsertLive_Table_lib(Live_Table_lib instance);
private void button24_Click_2(object sender, EventArgs eeee) { DialogResult result; //Messagebox所属于的类 result = MessageBox.Show(this, "YesOrNo", "你确定要删除分析库?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes)//Messagebox返回的值 { //提取去年的数据 DateTime dt = DateTime.Now.AddYears(-1); List<Live_Table_lib> ltls = new List<Live_Table_lib>(); using (DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn.conn)) { var result_tb = matches.Result_tb_lib.Where(e => e.Match_time > dt).OrderBy(e => e.Match_time); foreach (var r in result_tb) { Live_Table_lib ltl = new Live_Table_lib(); ltl.Match_time = r.Match_time; ltl.Html_position = r.Html_position; ltl.Match_type = r.Match_type; ltl.Home_team_big = r.Home_team_big; ltl.Home_team = r.Home_team; ltl.Away_red_card = r.Away_red_card; ltl.Away_team_big = r.Away_team_big; ltl.Away_team = r.Away_team; ltl.Away_red_card = r.Away_red_card; ltl.Full_home_goals = r.Full_home_goals; ltl.Full_away_goals = r.Full_away_goals; ltl.Half_home_goals = r.Half_home_goals; ltl.Half_away_goals = r.Half_away_goals; ltl.Status = r.Odds; //matches.Live_Table_lib.InsertOnSubmit(ltl); ltls.Add(ltl); } //matches.SubmitChanges(); } using (SqlConnection con = new SqlConnection(Conn.conn)) { con.Open(); using (SqlTransaction tran = con.BeginTransaction()) { var newOrders = ltls; SqlBulkCopy bc = new SqlBulkCopy(con, //SqlBulkCopyOptions.CheckConstraints | //SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.KeepNulls, tran); bc.BulkCopyTimeout = 36000; bc.BatchSize = 10000; bc.DestinationTableName = "Live_Table_lib"; bc.WriteToServer(newOrders.AsDataReader()); tran.Commit(); } con.Close(); } MessageBox.Show("OK"); } }
public string UpdateTodayMatch() { int i = 0; DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn.conn); var lt = matches.Live_Table.OrderBy(o => o.S_date).ThenBy(p => p.S_time);//用lambda表达式简洁 ILookup<string, Live_Table_lib> ltl_look = matches .Live_Table_lib.ToLookup(e => e.Home_team_big.ToString() + "-" +e.Away_team_big.ToString() + "-" + e.Match_time.Value.ToShortDateString()); foreach (var m in lt) { i++; ProgressBarDelegate.DoSendPMessage(i); Application.DoEvents(); if (m.Home_team_big != null) { //一一对应生成 Live_Table_lib ltl = new Live_Table_lib(); ltl.Html_position = Int32.Parse(m.Html_position); ltl.Home_team_big = Int32.Parse(GetNumber(m.Home_team_big)); ltl.Away_team_big = Int32.Parse(GetNumber(m.Away_team_big)); ltl.Match_type = m.Match_type.Trim(); if (m.S_date.IndexOf("-") != -1) temp_date = m.S_date.Substring(0, 10); ltl.Match_time = DateTime.Parse(temp_date + " " + m.S_time); ltl.Status = m.Full_time_score.Replace(" ", "").Trim(); ltl.Home_team = m.Home_team.Trim(); ltl.Away_team = m.Away_team.Trim(); ltl.Home_red_card = StringCount(m.Home_team, " ", 0); ltl.Away_red_card = StringCount(m.Away_team, " ", 0); ltl.Full_home_goals = null; ltl.Full_away_goals = null; if (m.Half_time_score.IndexOf("-") > 0) { ltl.Half_home_goals = Int32.Parse(m.Half_time_score.Substring(0, m.Half_time_score.IndexOf("-"))); ltl.Half_away_goals = Int32.Parse(m.Half_time_score.Substring(m.Half_time_score.IndexOf("-") + 1, m.Half_time_score.Length - m.Half_time_score.IndexOf("-") - 1)); } /* var rtExist = matches.Live_Table_lib .Where(p => p.Home_team_big == ltl.Home_team_big && p.Away_team_big == ltl.Away_team_big); //let关键字,匿名类型 var rtUpdateExist = from p in rtExist let timeDiff = ltl.Match_time.Value - p.Match_time.Value where Math.Abs(timeDiff.Days) <= 1 select p; * */ var rtUpdateExist = ltl_look[ltl.Home_team_big.ToString() + "-" +ltl.Away_team_big.ToString() + "-" + ltl.Match_time.Value.ToShortDateString()]; //存在记录的则做更新,必须确认是最新数据,即时间差不超过1天 if (rtUpdateExist.Any()) { int ltlid = rtUpdateExist.First().Live_table_lib_id; var rtUpate = matches.Live_Table_lib .Where(e => e.Live_table_lib_id == ltlid).First(); rtUpate.Match_time = ltl.Match_time; //时间也需要更新 2011.7.24 rtUpate.Status = ltl.Status; rtUpate.Home_team = ltl.Home_team; rtUpate.Away_team = ltl.Away_team; rtUpate.Home_red_card = ltl.Home_red_card; rtUpate.Away_red_card = ltl.Away_red_card; rtUpate.Half_home_goals = ltl.Half_home_goals; rtUpate.Half_away_goals = ltl.Half_away_goals; //matches.SubmitChanges(); } //不存在记录的此处做插入 else { matches.Live_Table_lib.InsertOnSubmit(ltl); //matches.SubmitChanges(); } } } matches.Live_Table.DeleteAllOnSubmit(lt);//更新后删除 matches.SubmitChanges(); //MessageBox.Show("OK"); return "OK"; //dataGridView1.DataSource = matches.live_Table_lib; }
public void UpdateTodaymatch() { //SoccerScoreCompact match = new SoccerScoreCompact(cnn); var lt = Conn.match.Live_Table.OrderBy(o => o.S_date).ThenBy(p => p.S_time);//用lambda表达式简洁 foreach (var m in lt) { if (m.Home_team_big != null) { //一一对应生成 Live_Table_lib ltl = new Live_Table_lib(); ltl.Html_position = Int32.Parse(m.Html_position); ltl.Home_team_big = Int32.Parse(GetNumber(m.Home_team_big)); ltl.Away_team_big = Int32.Parse(GetNumber(m.Away_team_big)); ltl.Match_type = m.Match_type.Trim(); if (m.S_date.IndexOf("-") != -1) temp_date = m.S_date.Substring(0, 10); ltl.Match_time = DateTime.Parse(temp_date + " " + m.S_time); ltl.Status = m.Full_time_score.Replace(" ", "").Trim(); ltl.Home_team = m.Home_team.Trim(); ltl.Away_team = m.Away_team.Trim(); ltl.Home_red_card = StringCount(m.Home_team, " ", 0); ltl.Away_red_card = StringCount(m.Away_team, " ", 0); ltl.Full_home_goals = null; ltl.Full_away_goals = null; if (m.Half_time_score.IndexOf("-") > 0) { ltl.Half_home_goals = Int32.Parse(m.Half_time_score.Substring(0, m.Half_time_score.IndexOf("-"))); ltl.Half_away_goals = Int32.Parse(m.Half_time_score.Substring(m.Half_time_score.IndexOf("-") + 1, m.Half_time_score.Length - m.Half_time_score.IndexOf("-") - 1)); } var rtExist = Conn.match.Live_Table_lib.Where(p => p.Home_team_big == ltl.Home_team_big && p.Away_team_big == ltl.Away_team_big); //let关键字,匿名类型 var rtUpdateExist = from p in rtExist let timeDiff = ltl.Match_time.Value - p.Match_time.Value where timeDiff.Days <= 1 where timeDiff.Days >= -1 select p; //存在记录的则做更新,必须确认是最新数据,即时间差不超过1天 if (rtUpdateExist.Any()) { var rtUpate = rtUpdateExist.First(); rtUpate.Status = ltl.Status; rtUpate.Home_team = ltl.Home_team; rtUpate.Away_team = ltl.Away_team; rtUpate.Home_red_card = ltl.Home_red_card; rtUpate.Away_red_card = ltl.Away_red_card; rtUpate.Half_home_goals = ltl.Half_home_goals; rtUpate.Half_away_goals = ltl.Half_away_goals; //match.SubmitChanges(); } //不存在记录的此处做插入 else { Conn.match.Live_Table_lib.InsertOnSubmit(ltl); Conn.match.SubmitChanges(); } } } Conn.match.Live_Table.DeleteAllOnSubmit(lt);//更新后删除 Conn.match.SubmitChanges(); MessageBox.Show("OK"); //dataGridView1.DataSource = match.Live_Table_lib; }