public void UpdateLastMatch()
        {
            int i = 0;
            DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn.conn);
            var rt = matches.Result_tb.OrderBy(o => o.S_date).ThenBy(p => p.S_time);//用lambda表达式简洁

            //取临时变量监视
            DateTime lib_max_match_time = matches.Result_tb_lib
                .Max(p => p.Match_time).Value.AddDays(-3);

            //取临时表做监视
            List<Result_tb_lib> temp_tb = matches.Result_tb_lib
                .Where(p => p.Match_time > lib_max_match_time).ToList();

            //取临时表插入
            List<Result_tb_lib> update_tb = new List<Result_tb_lib>();

            foreach (var m in rt)
            {
                i++;
                ProgressBarDelegate.DoSendPMessage(i);
                Application.DoEvents();
                if (m.Home_team_big != null)
                {
                    Result_tb_lib rtl = new Result_tb_lib();
                    rtl.Html_position = Int32.Parse(m.Html_position);
                    rtl.Home_team_big = Int32.Parse(GetNumber(m.Home_team_big));
                    rtl.Away_team_big = Int32.Parse(GetNumber(m.Away_team_big));
                    rtl.Match_type = m.Match_type.Trim();
                    last_line = m.S_time.LastIndexOf("\n");
                    temp_time = m.S_time.Substring(last_line, m.S_time.Length - last_line - 1);
                    rtl.Match_time = DateTime.Parse(m.S_date.Substring(0, 10) + " " + temp_time);
                    rtl.Odds = m.Odds.Trim();
                    rtl.Win_loss_big = m.Win_loss_big.Trim();
                    rtl.Home_team = m.Home_team.Trim();
                    rtl.Away_team = m.Away_team.Trim();
                    rtl.Home_red_card = StringCount(m.Home_team, "&nbsp;", 0);
                    rtl.Away_red_card = StringCount(m.Away_team, "&nbsp;", 0);
                    string bf = m.Full_time_score.Replace("&nbsp;", "").Replace("&nbsp;", "");
                    if (m.Full_time_score.IndexOf("-") > 0)
                    {
                        rtl.Full_home_goals = Int32.Parse(bf.Substring(0, bf.IndexOf("-")));
                        rtl.Full_away_goals = Int32.Parse(bf.Substring(bf.IndexOf("-") + 1, bf.Length - bf.IndexOf("-") - 1));
                    }
                    if (m.Half_time_score.IndexOf("-") > 0)
                    {
                        rtl.Half_home_goals = Int32.Parse(m.Half_time_score.Substring(0, m.Half_time_score.IndexOf("-")));
                        rtl.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));
                    }

                    //如果库中文件的日期太小,直接删除
                    if (rtl.Match_time >= lib_max_match_time)
                    {
                        //数据分区,层次化查询
                        var rtExist = from p in temp_tb  //历史库中的临时表
                                      where p.Match_time.Value.Date == rtl.Match_time.Value.Date     //注意这里时间的问题? 2011.8.30
                                      where p.Home_team_big == rtl.Home_team_big
                                      where p.Away_team_big == rtl.Away_team_big
                                      select p;

                        //库中没有记录直接插入
                        if (!rtExist.Any())
                        {
                            temp_tb.Add(rtl);  //历史库中的临时表做更新
                            update_tb.Add(rtl);
                        }
                    }
                    //更新后删除
                    //matches.Result_tb.DeleteOnSubmit(m);
                }
            }
            matches.Result_tb_lib.InsertAllOnSubmit(update_tb);
            matches.SubmitChanges();
            MessageBox.Show("OK");
        }
        public  void UpdateLastmatch()
        {
            int i = 0;
            //SoccerScoreCompact match = new SoccerScoreCompact(cnn);
            var rt = Conn.match.Result_tb.OrderBy(o => o.S_date).ThenBy(p => p.S_time);//用lambda表达式简洁

            //取临时变量监视
            DateTime lib_max_Match_time = Conn.match.Result_tb_lib.Select(p => p.Match_time).Max().Value.AddDays(-2);
            foreach (var m in rt)
            {
                i++;
                ProgressBarDelegate.DoSendPMessage(i);
                Application.DoEvents();
                if (m.Home_team_big != null)
                {
                    Result_tb_lib rtl = new Result_tb_lib();
                    rtl.Html_position = Int32.Parse(m.Html_position);
                    rtl.Home_team_big = Int32.Parse(GetNumber(m.Home_team_big));
                    rtl.Away_team_big = Int32.Parse(GetNumber(m.Away_team_big));
                    rtl.Match_type = m.Match_type.Trim();
                    last_line = m.S_time.LastIndexOf("\n");
                    temp_time=m.S_time.Substring(last_line,m.S_time.Length-last_line-1);
                    rtl.Match_time= DateTime.Parse(m.S_date.Substring(0, 10) + " " + temp_time);
                    rtl.Odds = m.Odds.Trim();
                    rtl.Win_loss_big = m.Win_loss_big.Trim();
                    rtl.Home_team = m.Home_team.Trim();
                    rtl.Away_team = m.Away_team.Trim();
                    rtl.Home_red_card = StringCount(m.Home_team, "&nbsp;", 0);
                    rtl.Away_red_card =StringCount(m.Away_team, "&nbsp;", 0);
                    string bf = m.Full_time_score.Replace("&nbsp;", "").Replace("&nbsp;", "");
                    if (m.Full_time_score.IndexOf("-") > 0)
                    {
                        rtl.Full_home_goals = Int32.Parse(bf.Substring(0, bf.IndexOf("-")));
                        rtl.Full_away_goals = Int32.Parse(bf.Substring(bf.IndexOf("-") + 1, bf.Length - bf.IndexOf("-") - 1));
                    }
                    if (m.Half_time_score.IndexOf("-") > 0)
                    {
                        rtl.Half_home_goals = Int32.Parse(m.Half_time_score.Substring(0, m.Half_time_score.IndexOf("-")));
                        rtl.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));
                    }

                    //如果库中文件的日期太小,直接删除
                    if (rtl.Match_time > lib_max_Match_time)
                    {
                        //数据分区,层次化查询
                        var rtExist = from p in Conn.match.Result_tb_lib
                                      where p.Match_time == rtl.Match_time
                                      where p.Home_team_big == rtl.Home_team_big
                                      where p.Away_team_big == rtl.Away_team_big
                                      select p;

                        //库中没有记录直接插入
                        if (!rtExist.Any())
                        {
                            Conn.match.Result_tb_lib.InsertOnSubmit(rtl);
                            Conn.match.SubmitChanges();
                        }
                    }

                    //更新后删除
                    Conn.match.Result_tb.DeleteOnSubmit(m);
                    Conn.match.SubmitChanges();
                    
                }
            }
            MessageBox.Show("OK");
            //dataGridView1.DataSource = match.Result_tb_lib;
        }
        private List<Result_tb_lib> AuditUpdateLastMatch()
        {
            int i = 0;

            DataClassesMatchDataContext matches = new DataClassesMatchDataContext(Conn.conn);

            var rt = matches.Result_tb.OrderBy(o => o.S_date).ThenBy(p => p.S_time);//用lambda表达式简洁

            //取临时表插入
            List<Result_tb_lib> update_tb = new List<Result_tb_lib>();

            foreach (var m in rt)
            {
                i++;
                ProgressBarDelegate.DoSendPMessage(i);
                Application.DoEvents();
                if (m.Home_team_big != null)
                {
                    Result_tb_lib rtl = new Result_tb_lib();
                    rtl.Html_position = Int32.Parse(m.Html_position);
                    rtl.Home_team_big = Int32.Parse(GetNumber(m.Home_team_big));
                    rtl.Away_team_big = Int32.Parse(GetNumber(m.Away_team_big));
                    rtl.Match_type = m.Match_type.Trim();
                    last_line = m.S_time.LastIndexOf("\n");
                    temp_time = m.S_time.Substring(last_line, m.S_time.Length - last_line - 1);
                    rtl.Match_time = DateTime.Parse(m.S_date.Substring(0, 10) + " " + temp_time);
                    rtl.Odds = m.Odds.Trim();
                    rtl.Win_loss_big = m.Win_loss_big.Trim();
                    rtl.Home_team = m.Home_team.Trim();
                    rtl.Away_team = m.Away_team.Trim();
                    rtl.Home_red_card = StringCount(m.Home_team, "&nbsp;", 0);
                    rtl.Away_red_card = StringCount(m.Away_team, "&nbsp;", 0);
                    string bf = m.Full_time_score.Replace("&nbsp;", "").Replace("&nbsp;", "");
                    if (m.Full_time_score.IndexOf("-") > 0)
                    {
                        rtl.Full_home_goals = Int32.Parse(bf.Substring(0, bf.IndexOf("-")));
                        rtl.Full_away_goals = Int32.Parse(bf.Substring(bf.IndexOf("-") + 1, bf.Length - bf.IndexOf("-") - 1));
                    }
                    if (m.Half_time_score.IndexOf("-") > 0)
                    {
                        rtl.Half_home_goals = Int32.Parse(m.Half_time_score.Substring(0, m.Half_time_score.IndexOf("-")));
                        rtl.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));
                    }
                    update_tb.Add(rtl);
                }
            }
            return update_tb;
        }
 partial void DeleteResult_tb_lib(Result_tb_lib instance);
 partial void UpdateResult_tb_lib(Result_tb_lib instance);
 partial void InsertResult_tb_lib(Result_tb_lib instance);
 private void TreeNodeLoad(TreeNode tn)
 {
     foreach (var ltl in ltls)
     {
         double? fit = 0, goals = 0, wdl = 0;
         //加入Live_Table数据
         strNode = ltl.Live_table_lib_id + "," + ltl.Match_type + "," + ltl.Match_time + "::" + ltl.Home_team + "::" + ltl.Away_team + "::" + ltl.Status;
         mar = marAll.Where(o => o.Live_table_lib_id == ltl.Live_table_lib_id).OrderByDescending(o => o.Analysis_result_id).FirstOrDefault();
         if (mar != null)  //有运行过算法
         {
             //加入match_analysis数据
             strNode += "||" + mar.Result_fit + "::" + mar.Result_goals + "::" + mar.Result_wdl + "::" + mar.Fit_win_loss + "::" +
                             mar.Home_goals + "::" + mar.Away_goals + "::" + (mar.Home_goals - mar.Away_goals) + "::" +
                             mar.Home_w.ToString() + "::" + mar.Home_d.ToString() + "::" + mar.Home_l.ToString();
             if (mar.Result_tb_lib_id != null)  //有导入了结果
             {
                 //加入result_tb数据
                 rtl = rtlAll.Where(e => e.Result_tb_lib_id == mar.Result_tb_lib_id).FirstOrDefault();
                 strNode += "||" + rtl.Match_time.Value.ToShortDateString() + "::" +
                                     rtl.Full_home_goals.ToString() + "-" + rtl.Full_away_goals.ToString() + "::" +
                                     rtl.Odds + "::" + rtl.Win_loss_big + "::" + rtl.Home_team + "::" + rtl.Away_team;
             }
             fit = mar.Fit_win_loss;
             goals = mar.Home_goals - mar.Away_goals;
             wdl = mar.Home_w - mar.Home_l;
         }
         //加入bj单场数据
         foreach (var lo in loAll)
             if (ltl.Home_team.Contains(lo.MatchOrder1_HomeName) || ltl.Away_team.Contains(lo.MatchOrder1_AwayName))   //有匹配bj单场的数据
                 strNode += "********" + lo.Value + ">>" + lo.MatchOrder1_HandicapNumber;
         TreeNode child = new TreeNode(strNode);
         tn.Nodes.Add(child);
         //颜色处理
         if (fit < 0) child.ForeColor = Color.Blue;
         if (goals < 0) child.BackColor = Color.Orange;
         if (wdl < 0) child.NodeFont = new Font("Trebuchet MS", 10, FontStyle.Bold);
         if (strNode.Contains(">>")) child.Parent.ForeColor = Color.Red;
     }
 }