private void SaveData() { string qh = this.t_qh.Text; SsqNumbers item = SsqNumbersManager.GetInstance().GetByQh(qh); if (item != null && string.IsNullOrEmpty(this.qh)) { MessageBox.Show("该期号已经存在"); return; } else { if (item == null) { item = new SsqNumbers(); } item.Qh = qh; item.SsqDate = Common.ToDateTime(this.t_rq.Text); item.NumBlue7 = this.t_blue.Text; item.NumRed1 = this.t_red1.Text; item.NumRed2 = this.t_red2.Text; item.NumRed3 = this.t_red3.Text; item.NumRed4 = this.t_red4.Text; item.NumRed5 = this.t_red5.Text; item.NumRed6 = this.t_red6.Text; List <SsqNumbers> aa = new List <SsqNumbers>(); aa.Add(item); SsqNumbersManager.GetInstance().Save(aa); this.DialogResult = DialogResult.OK; this.Close(); } }
public void Add(SsqNumbers item) { if (string.IsNullOrEmpty(item.Id)) { item.Id = Common.GetId(); } SsqNumbersDAL.GetInstance().Insert(item); }
public SSQ_Add(string qh) { InitializeComponent(); this.qh = qh; if (!string.IsNullOrEmpty(qh)) { SsqNumbers item = SsqNumbersManager.GetInstance().GetByQh(qh); this.t_qh.Text = item.Qh; this.t_rq.Text = item.SsqDate.ToString("yyyy-MM-dd"); this.t_blue.Text = item.NumBlue7; this.t_red1.Text = item.NumRed1; this.t_red2.Text = item.NumRed2; this.t_red3.Text = item.NumRed3; this.t_red4.Text = item.NumRed4; this.t_red5.Text = item.NumRed5; this.t_red6.Text = item.NumRed6; } }
//双击修改 private void btn_bindCont_Click(object sender, EventArgs e) { try { ListView.SelectedListViewItemCollection l = this.listView.SelectedItems; SsqNumbers ssq = l[0].Tag as SsqNumbers; SSQ_Add add = new SSQ_Add(ssq.Qh); add.StartPosition = FormStartPosition.CenterScreen; DialogResult dr = add.ShowDialog(); if (dr == DialogResult.OK) { InitList(); } } catch (Exception ex) { Log.GetInstance().WriteLog(ex.Message + ex.StackTrace, Log.Level.Error); } }
public void Update(SsqNumbers item) { SsqNumbersDAL.GetInstance().Update(item, new SsqNumbers.Field[] { SsqNumbers.Field.NumBlue7, SsqNumbers.Field.NumRed1, SsqNumbers.Field.NumRed2, SsqNumbers.Field.NumRed3, SsqNumbers.Field.NumRed4, SsqNumbers.Field.NumRed5, SsqNumbers.Field.NumRed6, SsqNumbers.Field.Qh, SsqNumbers.Field.SsqDate }, new SsqNumbers.Field[] { SsqNumbers.Field.Id }); }
//分析 public void FxSSQ(List <SsqNumbers> list) { if (list == null) { return; } if (list.Count == 0) { return; } //刷新随机数 random1_7_4 = random(1, 7, 4); random28_34_1 = random(28, 34, 1); random8_28_1 = random(8, 28, 1); int redCount1 = 0, redCount2 = 0, redCount3 = 0, redCount4 = 0, redCount5 = 0, redCount6 = 0, redCount7 = 0, redCount8 = 0, redCount9 = 0, redCount10 = 0; int redCount11 = 0, redCount12 = 0, redCount13 = 0, redCount14 = 0, redCount15 = 0, redCount16 = 0, redCount17 = 0, redCount18 = 0, redCount19 = 0, redCount20 = 0; int redCount21 = 0, redCount22 = 0, redCount23 = 0, redCount24 = 0, redCount25 = 0, redCount26 = 0, redCount27 = 0, redCount28 = 0, redCount29 = 0, redCount30 = 0, redCount31 = 0, redCount32 = 0, redCount33 = 0; int blueCount1 = 0, blueCount2 = 0, blueCount3 = 0, blueCount4 = 0, blueCount5 = 0, blueCount6 = 0, blueCount7 = 0, blueCount8 = 0, blueCount9 = 0, blueCount10 = 0; int blueCount11 = 0, blueCount12 = 0, blueCount13 = 0, blueCount14 = 0, blueCount15 = 0, blueCount16 = 0; for (int i = 0; i < list.Count; i++) { SsqNumbers item = list[i]; //红球统计出现次数 for (int j = 1; j < 7; j++) { string numRed = ""; if (j == 1) { numRed = item.NumRed1; } else if (j == 2) { numRed = item.NumRed2; } else if (j == 3) { numRed = item.NumRed3; } else if (j == 4) { numRed = item.NumRed4; } else if (j == 5) { numRed = item.NumRed5; } else if (j == 6) { numRed = item.NumRed6; } switch (numRed) { case "1": ++redCount1; break; case "2": ++redCount2; break; case "3": ++redCount3; break; case "4": ++redCount4; break; case "5": ++redCount5; break; case "6": ++redCount6; break; case "7": ++redCount7; break; case "8": ++redCount8; break; case "9": ++redCount9; break; case "10": ++redCount10; break; case "11": ++redCount11; break; case "12": ++redCount12; break; case "13": ++redCount13; break; case "14": ++redCount14; break; case "15": ++redCount15; break; case "16": ++redCount16; break; case "17": ++redCount17; break; case "18": ++redCount18; break; case "19": ++redCount19; break; case "20": ++redCount20; break; case "21": ++redCount21; break; case "22": ++redCount22; break; case "23": ++redCount23; break; case "24": ++redCount24; break; case "25": ++redCount25; break; case "26": ++redCount26; break; case "27": ++redCount27; break; case "28": ++redCount28; break; case "29": ++redCount29; break; case "30": ++redCount30; break; case "31": ++redCount31; break; case "32": ++redCount32; break; case "33": ++redCount33; break; default: Log.GetInstance().WriteLog(string.Format("期号为{0}的没统计", item.Qh), Log.Level.Error); break; } } //篮球统计出现次数 string numBlue = Common.ToInt32(item.NumBlue7).ToString(); switch (numBlue) { case "1": ++blueCount1; break; case "2": ++blueCount2; break; case "3": ++blueCount3; break; case "4": ++blueCount4; break; case "5": ++blueCount5; break; case "6": ++blueCount6; break; case "7": ++blueCount7; break; case "8": ++blueCount8; break; case "9": ++blueCount9; break; case "10": ++blueCount10; break; case "11": ++blueCount11; break; case "12": ++blueCount12; break; case "13": ++blueCount13; break; case "14": ++blueCount14; break; case "15": ++blueCount15; break; case "16": ++blueCount16; break; default: Log.GetInstance().WriteLog(string.Format("期号为{0}的没统计", item.Qh), Log.Level.Error); break; } }//所有期号循环完毕 //计算概率 decimal redP1 = (decimal)redCount1 / list.Count; decimal redP2 = (decimal)redCount2 / list.Count; decimal redP3 = (decimal)redCount3 / list.Count; decimal redP4 = (decimal)redCount4 / list.Count; decimal redP5 = (decimal)redCount5 / list.Count; decimal redP6 = (decimal)redCount6 / list.Count; decimal redP7 = (decimal)redCount7 / list.Count; decimal redP8 = (decimal)redCount8 / list.Count; decimal redP9 = (decimal)redCount9 / list.Count; decimal redP10 = (decimal)redCount10 / list.Count; decimal redP11 = (decimal)redCount11 / list.Count; decimal redP12 = (decimal)redCount12 / list.Count; decimal redP13 = (decimal)redCount13 / list.Count; decimal redP14 = (decimal)redCount14 / list.Count; decimal redP15 = (decimal)redCount15 / list.Count; decimal redP16 = (decimal)redCount16 / list.Count; decimal redP17 = (decimal)redCount17 / list.Count; decimal redP18 = (decimal)redCount18 / list.Count; decimal redP19 = (decimal)redCount19 / list.Count; decimal redP20 = (decimal)redCount20 / list.Count; decimal redP21 = (decimal)redCount21 / list.Count; decimal redP22 = (decimal)redCount22 / list.Count; decimal redP23 = (decimal)redCount23 / list.Count; decimal redP24 = (decimal)redCount24 / list.Count; decimal redP25 = (decimal)redCount25 / list.Count; decimal redP26 = (decimal)redCount26 / list.Count; decimal redP27 = (decimal)redCount27 / list.Count; decimal redP28 = (decimal)redCount28 / list.Count; decimal redP29 = (decimal)redCount29 / list.Count; decimal redP30 = (decimal)redCount30 / list.Count; decimal redP31 = (decimal)redCount31 / list.Count; decimal redP32 = (decimal)redCount32 / list.Count; decimal redP33 = (decimal)redCount33 / list.Count; //次数存到Dictionary中 Dictionary <string, int> redCs = new Dictionary <string, int>(); redCs.Add("1", redCount1); redCs.Add("2", redCount2); redCs.Add("3", redCount3); redCs.Add("4", redCount4); redCs.Add("5", redCount5); redCs.Add("6", redCount6); redCs.Add("7", redCount7); redCs.Add("8", redCount8); redCs.Add("9", redCount9); redCs.Add("10", redCount10); redCs.Add("11", redCount11); redCs.Add("12", redCount12); redCs.Add("13", redCount13); redCs.Add("14", redCount14); redCs.Add("15", redCount15); redCs.Add("16", redCount16); redCs.Add("17", redCount17); redCs.Add("18", redCount18); redCs.Add("19", redCount19); redCs.Add("20", redCount20); redCs.Add("21", redCount21); redCs.Add("22", redCount22); redCs.Add("23", redCount23); redCs.Add("24", redCount24); redCs.Add("25", redCount25); redCs.Add("26", redCount26); redCs.Add("27", redCount27); redCs.Add("28", redCount28); redCs.Add("29", redCount29); redCs.Add("30", redCount30); redCs.Add("31", redCount31); redCs.Add("32", redCount32); redCs.Add("33", redCount33); //红球概率排序 Dictionary <string, decimal> redPs = new Dictionary <string, decimal>(); redPs.Add("1", redP1); redPs.Add("2", redP2); redPs.Add("3", redP3); redPs.Add("4", redP4); redPs.Add("5", redP5); redPs.Add("6", redP6); redPs.Add("7", redP7); redPs.Add("8", redP8); redPs.Add("9", redP9); redPs.Add("10", redP10); redPs.Add("11", redP11); redPs.Add("12", redP12); redPs.Add("13", redP13); redPs.Add("14", redP14); redPs.Add("15", redP15); redPs.Add("16", redP16); redPs.Add("17", redP17); redPs.Add("18", redP18); redPs.Add("19", redP19); redPs.Add("20", redP20); redPs.Add("21", redP21); redPs.Add("22", redP22); redPs.Add("23", redP23); redPs.Add("24", redP24); redPs.Add("25", redP25); redPs.Add("26", redP26); redPs.Add("27", redP27); redPs.Add("28", redP28); redPs.Add("29", redP29); redPs.Add("30", redP30); redPs.Add("31", redP31); redPs.Add("32", redP32); redPs.Add("33", redP33); var dicSort = from objDic in redPs orderby objDic.Value select objDic; this.list_fx.Clear(); this.list_fx.View = View.Details; this.list_fx.Columns.Add("0", "序号", 30, HorizontalAlignment.Center, 0); this.list_fx.Columns.Add("1", "球种类", 80, HorizontalAlignment.Center, 0); this.list_fx.Columns.Add("2", "出现次数", 80, HorizontalAlignment.Center, 0); this.list_fx.Columns.Add("3", "总次数", 80, HorizontalAlignment.Center, 0); this.list_fx.Columns.Add("4", "出现概率", 80, HorizontalAlignment.Center, 0); int rPos = 0; foreach (KeyValuePair <string, decimal> kvp in dicSort) { rPos++; ListViewItem listItem = new ListViewItem(); listItem.SubItems.Clear(); string name = "红球" + kvp.Key; int redC = 0; redCs.TryGetValue(kvp.Key, out redC); listItem.Text = rPos.ToString(); listItem.SubItems.Add(name); listItem.SubItems.Add(redC.ToString()); listItem.SubItems.Add(list.Count.ToString()); listItem.SubItems.Add(kvp.Value.ToString()); if (winningType == 0) { if (rPos == 1 || rPos == 2 || rPos == 3 || rPos == 4 || rPos == 5 || rPos == 6) { listItem.BackColor = Color.Yellow; winningRed[rPos - 1] = kvp.Key; } } else if (winningType == 1) { if (rPos == 33 || rPos == 32 || rPos == 31 || rPos == 30 || rPos == 29 || rPos == 28) { listItem.BackColor = Color.Yellow; winningRed[rPos - 28] = kvp.Key; } } else if (winningType == 2) { if (rPos == 1 || rPos == 2 || rPos == 3) { listItem.BackColor = Color.Yellow; winningRed[rPos - 1] = kvp.Key; } if (rPos == 33 || rPos == 32 || rPos == 31) { listItem.BackColor = Color.Yellow; winningRed[rPos - 28] = kvp.Key; } } else if (winningType == 3) { if (rPos == 1 || rPos == 2 || rPos == 3 || rPos == 4) { listItem.BackColor = Color.Yellow; winningRed[rPos - 1] = kvp.Key; } if (rPos == 33 || rPos == 32) { listItem.BackColor = Color.Yellow; winningRed[rPos - 28] = kvp.Key; } } else if (winningType == 4) { if (rPos == 1 || rPos == 2 || rPos == 3 || rPos == 4 || rPos == 5 || rPos == 6) { if (random1_7_4.Contains(rPos)) { int pos = getListIndexByValue(random1_7_4, rPos); listItem.BackColor = Color.Yellow; winningRed[pos] = kvp.Key; } } else if (rPos == random28_34_1[0]) { listItem.BackColor = Color.Yellow; winningRed[4] = kvp.Key; } else if (rPos == random8_28_1[0]) { listItem.BackColor = Color.Yellow; winningRed[5] = kvp.Key; } } this.list_fx.Items.Add(listItem); } decimal blueP1 = (decimal)blueCount1 / list.Count; decimal blueP2 = (decimal)blueCount2 / list.Count; decimal blueP3 = (decimal)blueCount3 / list.Count; decimal blueP4 = (decimal)blueCount4 / list.Count; decimal blueP5 = (decimal)blueCount5 / list.Count; decimal blueP6 = (decimal)blueCount6 / list.Count; decimal blueP7 = (decimal)blueCount7 / list.Count; decimal blueP8 = (decimal)blueCount8 / list.Count; decimal blueP9 = (decimal)blueCount9 / list.Count; decimal blueP10 = (decimal)blueCount10 / list.Count; decimal blueP11 = (decimal)blueCount11 / list.Count; decimal blueP12 = (decimal)blueCount12 / list.Count; decimal blueP13 = (decimal)blueCount13 / list.Count; decimal blueP14 = (decimal)blueCount14 / list.Count; decimal blueP15 = (decimal)blueCount15 / list.Count; decimal blueP16 = (decimal)blueCount16 / list.Count; //次数存到Dictionary中 Dictionary <string, int> blueCs = new Dictionary <string, int>(); blueCs.Add("1", blueCount1); blueCs.Add("2", blueCount2); blueCs.Add("3", blueCount3); blueCs.Add("4", blueCount4); blueCs.Add("5", blueCount5); blueCs.Add("6", blueCount6); blueCs.Add("7", blueCount7); blueCs.Add("8", blueCount8); blueCs.Add("9", blueCount9); blueCs.Add("10", blueCount10); blueCs.Add("11", blueCount11); blueCs.Add("12", blueCount12); blueCs.Add("13", blueCount13); blueCs.Add("14", blueCount14); blueCs.Add("15", blueCount15); blueCs.Add("16", blueCount16); //蓝球概率排序 Dictionary <string, decimal> bluePs = new Dictionary <string, decimal>(); bluePs.Add("1", blueP1); bluePs.Add("2", blueP2); bluePs.Add("3", blueP3); bluePs.Add("4", blueP4); bluePs.Add("5", blueP5); bluePs.Add("6", blueP6); bluePs.Add("7", blueP7); bluePs.Add("8", blueP8); bluePs.Add("9", blueP9); bluePs.Add("10", blueP10); bluePs.Add("11", blueP11); bluePs.Add("12", blueP12); bluePs.Add("13", blueP13); bluePs.Add("14", blueP14); bluePs.Add("15", blueP15); bluePs.Add("16", blueP16); var dicSortBlue = from objDicBlue in bluePs orderby objDicBlue.Value select objDicBlue; this.list_blue.Clear(); this.list_blue.View = View.Details; this.list_blue.Columns.Add("4", "序号", 30, HorizontalAlignment.Center, 0); this.list_blue.Columns.Add("0", "球种类", 80, HorizontalAlignment.Center, 0); this.list_blue.Columns.Add("1", "出现次数", 80, HorizontalAlignment.Center, 0); this.list_blue.Columns.Add("2", "总次数", 80, HorizontalAlignment.Center, 0); this.list_blue.Columns.Add("3", "出现概率", 80, HorizontalAlignment.Center, 0); int bPos = 0; foreach (KeyValuePair <string, decimal> kvp in dicSortBlue) { bPos++; ListViewItem listItem = new ListViewItem(); string name = "蓝球" + kvp.Key; int blueC = 0; blueCs.TryGetValue(kvp.Key, out blueC); listItem.Text = bPos.ToString(); listItem.SubItems.Add(name); listItem.SubItems.Add(blueC.ToString()); listItem.SubItems.Add(list.Count.ToString()); listItem.SubItems.Add(kvp.Value.ToString()); if (winningType == 0) { if (bPos == 1) { listItem.BackColor = Color.Yellow; winningBlue = kvp.Key.ToString(); } } else if (winningType == 1) { if (bPos == 16) { listItem.BackColor = Color.Yellow; winningBlue = kvp.Key.ToString(); } } else { Random ran = new Random(); int n = ran.Next(1, 3); //产生1和2的随机数,范围是: >=参数1, 而且 < 参数2 if (n == 1) { if (bPos == 1) { listItem.BackColor = Color.Yellow; winningBlue = kvp.Key.ToString(); } } else if (n == 2) { if (bPos == 16) { listItem.BackColor = Color.Yellow; winningBlue = kvp.Key.ToString(); } } } this.list_blue.Items.Add(listItem); } }
private void btn_dr_Click(object sender, EventArgs e) { int pos = 0; try { List <SsqNumbers> sList = new List <SsqNumbers>(); if (this.openFileDialog.ShowDialog() == DialogResult.OK) { string fileName = this.openFileDialog.FileName; string connStr = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;", @fileName); OleDbConnection conn = new OleDbConnection(connStr); conn.Open(); DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" }); string tableName = dt.Rows[0]["TABLE_NAME"].ToString(); string sql = String.Format("SELECT * FROM [{0}]", tableName); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { string xh = ReadExcelCell(reader, 0).Trim(); System.Text.RegularExpressions.Regex rex = new System.Text.RegularExpressions.Regex(@"^\d+$"); if (!rex.IsMatch(xh)) { continue; } string ssqDate = ReadExcelCell(reader, 1).Trim(); string qh = ReadExcelCell(reader, 2).Trim(); string numbers = ReadExcelCell(reader, 3).Trim(); string[] numberss = numbers.Split(' '); if (numberss.Length != 7) { continue; } SsqNumbers s = new SsqNumbers(); s.SsqDate = Common.ToDateTime(ssqDate); s.Qh = qh; List <int> temp = new List <int>(); temp.Add(Common.ToInt32(numberss[0])); temp.Add(Common.ToInt32(numberss[1])); temp.Add(Common.ToInt32(numberss[2])); temp.Add(Common.ToInt32(numberss[3])); temp.Add(Common.ToInt32(numberss[4])); temp.Add(Common.ToInt32(numberss[5])); temp.Sort(); s.NumBlue7 = Common.ToInt32(numberss[6]).ToString(); s.NumRed1 = temp[0].ToString(); s.NumRed2 = temp[1].ToString(); s.NumRed3 = temp[2].ToString(); s.NumRed4 = temp[3].ToString(); s.NumRed5 = temp[4].ToString(); s.NumRed6 = temp[5].ToString(); sList.Add(s); ++pos; } SsqNumbersManager.GetInstance().Save(sList); MessageBox.Show(string.Format("导入成功{0}条数据", pos)); InitList(); } } catch (Exception ex) { MessageBox.Show(ex.Message); Log.GetInstance().WriteLog(ex.Message + ex.StackTrace, Log.Level.Error); } }