Dictionary<String, BondSpotInfo> GetBondDic_Raw(MySqlConnection con) { Dictionary<String, BondSpotInfo> dic = new Dictionary<string, BondSpotInfo>(); try { String calDate = DateTime.Now.ToString("yyyy-MM-dd"); String query = String.Format("select * from bond_daily_avg_price where cal_date = '{0}'", calDate); MySqlCommand cmd = new MySqlCommand(query, con); MySqlDataAdapter dataAdapter = new MySqlDataAdapter(cmd); DataSet ds = new DataSet("bond_daily_avg_price"); dataAdapter.Fill(ds, "bond_daily_avg_price"); DataRowCollection drc = ds.Tables["bond_daily_avg_price"].Rows; if (drc.Count <= 0) { logger.Warn("count of bond dic is 0, do you insert yesterday avg price of bond?"); return dic; } for (int i = 0; i < drc.Count; ++i) { DataRow dr = drc[i]; String code = dr["code"].ToString(); String name = dr["name"].ToString(); String issudDate = dr["issue_date"].ToString(); String maturityDate = dr["maturity_date"].ToString(); double avgPrice = Convert.ToDouble(dr["avg_price"]); BondSpotInfo bi = new BondSpotInfo(); bi.Code = code; bi.Name = name; bi.IssueDate = issudDate; bi.MaturiytDate = maturityDate; bi.CalDate = calDate; bi.AvgYesPrice = avgPrice; if (5000 <= bi.AvgYesPrice && bi.AvgYesPrice <= 20000) { dic.Add(bi.Code, bi); } else if (1 <= bi.AvgYesPrice && bi.AvgYesPrice < 5000) { logger.Warn("Strange BondData is excluded from dict. ({0}, {1:n0})", bi.ToString(), bi.AvgYesPrice); } BondCodeNameMap.Ins().AddIfNotExist(bi.Code, bi.Name); } ds.Clear(); } catch (System.Exception ex) { logger.Error(ex.ToString()); Util.KillWithNotice(ex.ToString()); } return dic; }