private void btnAnalysisCaike_Click(object sender, EventArgs e) { //获取最新预测数据 YucerawdataDAL dal = new YucerawdataDAL(); DataSet ds = dal.GetYucerawdata(); foreach (DataRow row in ds.Tables[0].Rows) { string url = row["url"].ToString(); string caizhongtype = row["caizhongtype"].ToString(); string title = row["title"].ToString(); string p2 = row["p2"].ToString(); string p3 = row["p3"].ToString(); string p8 = row["p8"].ToString(); //分析数据 int zhongkuohaoIndex = title.IndexOf("["); int zhongkuohaoIndex2 = title.IndexOf("]"); string yuceren = ""; if (zhongkuohaoIndex != -1) { yuceren = title.Substring(zhongkuohaoIndex + 1, zhongkuohaoIndex2 - zhongkuohaoIndex - 1); } string zhudui = ""; string kedui = ""; if (p2.IndexOf(":") != -1) { p2 = PreHandleData2(p2); string[] splitP2 = p2.Split(' '); kedui = splitP2[splitP2.Length - 1]; zhudui = splitP2[splitP2.Length - 3]; //去除主队和客队中包含的括号 kedui = DeleteKuohao(kedui); zhudui = DeleteKuohao(zhudui); } else { int vsIndex = p2.ToUpper().IndexOf("VS"); string preVs = p2.Substring(0, vsIndex).Replace(" ", ""); string postVs = p2.Substring(vsIndex + 2); kedui = postVs.Replace(" ", "").Replace(" ", ""); int lastKonggeIndex = preVs.Trim().LastIndexOf(" "); if (lastKonggeIndex != -1) { zhudui = preVs.Substring(lastKonggeIndex).Trim(); } else { zhudui = preVs.Trim(); } //去除主队和客队中包含的括号 kedui = DeleteKuohao(kedui); zhudui = DeleteKuohao(zhudui); } //获取比赛时间 string bisaishijian = ""; p3 = PreHandleData3(p3); int bisaiIndex = p3.IndexOf("比赛时间:"); bisaishijian = p3.Substring(bisaiIndex + 5); //获取推荐及让球数 string spf = ""; string rangqiushu = "0"; int hasrangqiu = 0; p8 = PreHandleData8(p8); int maohaoIndex = p8.IndexOf(":"); if (maohaoIndex == -1) { maohaoIndex = p8.IndexOf("推荐") + 1; } int qiankuohaoIndex = p8.IndexOf("("); int houkuohaoIndex = p8.IndexOf(")"); //这个分支适用于模式: 竞彩足球让球胜平负推荐:0(维冈竞技让1球) if (qiankuohaoIndex != -1 && qiankuohaoIndex > maohaoIndex && houkuohaoIndex == p8.Length - 1) { spf = p8.Substring(maohaoIndex + 1, qiankuohaoIndex - maohaoIndex - 1); } else if (qiankuohaoIndex != -1 && qiankuohaoIndex > maohaoIndex && houkuohaoIndex != p8.Length - 1) { spf = p8.Substring(houkuohaoIndex + 1); } else { spf = p8.Substring(maohaoIndex + 1); } if (p8.IndexOf("无让球") != -1 || p8.IndexOf("没有让球") != -1 || p8.IndexOf("不让球") != -1) { } else { if (p8.IndexOf("让球") != -1 || p8.IndexOf(")球") != -1) { //让球(-1)和让(-1)球模式 int rangIndex = p8.LastIndexOf("让"); int qiuIndex = p8.LastIndexOf("球"); if (rangIndex != -1 && qiuIndex > rangIndex + 1) { rangqiushu = p8.Substring(rangIndex + 1, qiuIndex - rangIndex - 1); switch (rangqiushu) { case "一": rangqiushu = "1"; break; case "二": rangqiushu = "2"; break; case "三": rangqiushu = "3"; break; case "四": rangqiushu = "4"; break; case "五": rangqiushu = "5"; break; case "六": rangqiushu = "6"; break; case "七": rangqiushu = "7"; break; case "八": rangqiushu = "8"; break; case "九": rangqiushu = "9"; break; case "十": rangqiushu = "10"; break; } } else { rangqiushu = p8.Substring(qiankuohaoIndex + 1, houkuohaoIndex - qiankuohaoIndex - 1); } } else { int rangIndex = p8.LastIndexOf("让"); int qiuIndex = p8.LastIndexOf("球"); if (rangIndex != -1) { rangqiushu = p8.Substring(rangIndex + 1, qiuIndex - rangIndex - 1); } else if (qiankuohaoIndex != -1) { rangqiushu = p8.Substring(qiankuohaoIndex + 1, houkuohaoIndex - qiankuohaoIndex - 1); } } } if (rangqiushu == "0") { hasrangqiu = 0; } else { hasrangqiu = 1; } //保存分析数据 Yuceanalysis analy = new Yuceanalysis(); analy.Url = url; analy.Zhudui = zhudui; analy.Kedui = kedui; analy.Yucetype = caizhongtype; analy.Bisaishijian = Convert.ToDateTime(bisaishijian); analy.Touzhushijian = Convert.ToDateTime(bisaishijian).AddHours(-11).Date; analy.Rangqiushu = rangqiushu; analy.Hasrangqiu = hasrangqiu; analy.OperateTime = DateTime.Now; analy.Operator = "吴林"; analy.Yucespf = spf; analy.Yuceren = yuceren; dal.InsertYuceanalysis(analy); } MessageBox.Show("分析成功!"); }
public void InsertYuceanalysis(Yuceanalysis data) { int total = 0; string conStr = "server=localhost;User Id=root;database=aicai;" + "Password=root;Character Set=utf8;"; using (MySqlConnection mySqlCon = new MySqlConnection(conStr)) { mySqlCon.Open(); int recordCount = 0; using (MySqlCommand myCountCom = mySqlCon.CreateCommand()) { string sqlCountStr = @" select count(*) from yuce_rawdata_analysis where zhudui = ?zhudui and kedui = ?kedui and url=?url;"; myCountCom.CommandText = sqlCountStr; myCountCom.Parameters.AddWithValue("?url", data.Url); myCountCom.Parameters.AddWithValue("?zhudui", data.Zhudui); myCountCom.Parameters.AddWithValue("?kedui", data.Kedui); object obj = myCountCom.ExecuteScalar(); recordCount = Convert.ToInt32(obj); } if (recordCount == 0) { using (MySqlCommand mySqlCom = mySqlCon.CreateCommand()) { //这里需要注意的是在 Sql 语句中有一个参数是 ?BlogsName //很明显,这个参数有点古怪,和我们一直使用的 @ 不一样, //这是因为在 MySql 以前的提供的 .NET Connector 中 //都是采用 ? 来标志一个参数的,而现在的 .NET Connector 呢, //您既可以采用 ? 来标志一个参数,您也可以使用一个 @ 符号来标志一个参数 //新版的 .NET Connector 对此都是支持的 string sqlStr = @" insert into yuce_rawdata_analysis(url,zhudui,kedui,yucetype,yuceren,yucespf,hasrangqiu,rangqiushu,bisaishijian,touzhushijian,bianhao,operator,operatetime) values(?url,?zhudui,?kedui,?yucetype,?yuceren,?yucespf,?hasrangqiu,?rangqiushu,?bisaishijian,?touzhushijian,?bianhao,?operator,?operatetime) "; mySqlCom.CommandText = sqlStr; mySqlCom.Parameters.AddWithValue("?url", data.Url); mySqlCom.Parameters.AddWithValue("?zhudui", data.Zhudui); mySqlCom.Parameters.AddWithValue("?kedui", data.Kedui); mySqlCom.Parameters.AddWithValue("?yucetype", data.Yucetype); mySqlCom.Parameters.AddWithValue("?yuceren", data.Yuceren); mySqlCom.Parameters.AddWithValue("?yucespf", data.Yucespf); mySqlCom.Parameters.AddWithValue("?hasrangqiu", data.Hasrangqiu); mySqlCom.Parameters.AddWithValue("?rangqiushu", data.Rangqiushu); mySqlCom.Parameters.AddWithValue("?bisaishijian", data.Bisaishijian); mySqlCom.Parameters.AddWithValue("?touzhushijian", data.Touzhushijian); mySqlCom.Parameters.AddWithValue("?bianhao", data.Bianhao); mySqlCom.Parameters.AddWithValue("?operator", data.Operator); mySqlCom.Parameters.AddWithValue("?operatetime", data.OperateTime); mySqlCom.ExecuteScalar(); } } } }