/// <summary> /// 得到一个对象实体 /// </summary> public StockMinInfo GetModel(int id) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 [code],[symbol],[name],[type],[open],[high],[low],[status],[price],[yestclose],[percent],[updown],[arrow],[volume],[turnover],[ask1],[ask2],[ask3],[ask4],[ask5],[askvol1],[askvol2],[askvol3],[askvol4],[askvol5],[bid1],[bid2],[bid3],[bid4],[bid5],[bidvol1],[bidvol2],[bidvol3],[bidvol4],[bidvol5],[update],[time] from StockMinInfo "); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int, 4) }; parameters[0].Value = id; StockMinInfo model = new StockMinInfo(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public StockMinInfo DataRowToModel(DataRow row) { StockMinInfo model = new StockMinInfo(); if (row != null) { if (row["id"] != null && row["id"].ToString() != "") { model.id = int.Parse(row["id"].ToString()); } if (row["code"] != null && row["code"].ToString() != "") { model.code = int.Parse(row["code"].ToString()); } if (row["symbol"] != null && row["symbol"].ToString() != "") { model.symbol = row["symbol"].ToString(); } if (row["name"] != null) { model.name = row["name"].ToString(); } if (row["type"] != null) { model.type = row["type"].ToString(); } if (row["open"] != null && row["open"].ToString() != "") { model.open = decimal.Parse(row["open"].ToString()); } if (row["high"] != null && row["high"].ToString() != "") { model.high = decimal.Parse(row["high"].ToString()); } if (row["low"] != null && row["low"].ToString() != "") { model.low = decimal.Parse(row["low"].ToString()); } if (row["status"] != null && row["status"].ToString() != "") { model.status = int.Parse(row["status"].ToString()); } if (row["price"] != null && row["price"].ToString() != "") { model.price = decimal.Parse(row["price"].ToString()); } if (row["yestclose"] != null && row["yestclose"].ToString() != "") { model.yestclose = decimal.Parse(row["yestclose"].ToString()); } if (row["percent"] != null && row["percent"].ToString() != "") { model.percent = decimal.Parse(row["percent"].ToString()); } if (row["updown"] != null && row["updown"].ToString() != "") { model.updown = decimal.Parse(row["updown"].ToString()); } if (row["arrow"] != null) { model.arrow = row["arrow"].ToString(); } if (row["volume"] != null) { model.volume = row["volume"].ToString(); } if (row["turnover"] != null && row["turnover"].ToString() != "") { model.turnover = decimal.Parse(row["turnover"].ToString()); } if (row["ask1"] != null && row["ask1"].ToString() != "") { model.ask1 = decimal.Parse(row["ask1"].ToString()); } if (row["ask2"] != null && row["ask2"].ToString() != "") { model.ask2 = decimal.Parse(row["ask2"].ToString()); } if (row["ask3"] != null && row["ask3"].ToString() != "") { model.ask3 = decimal.Parse(row["ask3"].ToString()); } if (row["ask4"] != null && row["ask4"].ToString() != "") { model.ask4 = decimal.Parse(row["ask4"].ToString()); } if (row["ask5"] != null && row["ask5"].ToString() != "") { model.ask5 = decimal.Parse(row["ask5"].ToString()); } if (row["askvol1"] != null) { model.askvol1 = row["askvol1"].ToString(); } if (row["askvol2"] != null) { model.askvol2 = row["askvol2"].ToString(); } if (row["askvol3"] != null) { model.askvol3 = row["askvol3"].ToString(); } if (row["askvol4"] != null) { model.askvol4 = row["askvol4"].ToString(); } if (row["askvol5"] != null) { model.askvol5 = row["askvol5"].ToString(); } if (row["bid1"] != null && row["bid1"].ToString() != "") { model.bid1 = decimal.Parse(row["bid1"].ToString()); } if (row["bid2"] != null && row["bid2"].ToString() != "") { model.bid2 = decimal.Parse(row["bid2"].ToString()); } if (row["bid3"] != null && row["bid3"].ToString() != "") { model.bid3 = decimal.Parse(row["bid3"].ToString()); } if (row["bid4"] != null && row["bid4"].ToString() != "") { model.bid4 = decimal.Parse(row["bid4"].ToString()); } if (row["bid5"] != null && row["bid5"].ToString() != "") { model.bid5 = decimal.Parse(row["bid5"].ToString()); } if (row["bidvol1"] != null) { model.bidvol1 = row["bidvol1"].ToString(); } if (row["bidvol2"] != null) { model.bidvol2 = row["bidvol2"].ToString(); } if (row["bidvol3"] != null) { model.bidvol3 = row["bidvol3"].ToString(); } if (row["bidvol4"] != null) { model.bidvol4 = row["bidvol4"].ToString(); } if (row["bidvol5"] != null) { model.bidvol5 = row["bidvol5"].ToString(); } if (row["update"] != null && row["update"].ToString() != "") { model.update = row["update"].ToString(); } if (row["time"] != null && row["time"].ToString() != "") { model.time = DateTime.Parse(row["time"].ToString()); } } return(model); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(StockMinInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update StockMinInfo set "); strSql.Append("[code]=@code,"); strSql.Append("[symbol]=@symbol,"); strSql.Append("[name]=@name,"); strSql.Append("[type]=@type,"); strSql.Append("[open]=@open,"); strSql.Append("[high]=@high,"); strSql.Append("[low]=@low,"); strSql.Append("[status]=@status,"); strSql.Append("[price]=@price,"); strSql.Append("[yestclose]=@yestclose,"); strSql.Append("[percent]=@percent,"); strSql.Append("[updown]=@updown,"); strSql.Append("[arrow]=@arrow,"); strSql.Append("[volume]=@volume,"); strSql.Append("[turnover]=@turnover,"); strSql.Append("[ask1]=@ask1,"); strSql.Append("[ask2]=@ask2,"); strSql.Append("[ask3]=@ask3,"); strSql.Append("[ask4]=@ask4,"); strSql.Append("[ask5]=@ask5,"); strSql.Append("[askvol1]=@askvol1,"); strSql.Append("[askvol2]=@askvol2,"); strSql.Append("[askvol3]=@askvol3,"); strSql.Append("[askvol4]=@askvol4,"); strSql.Append("[askvol5]=@askvol5,"); strSql.Append("[bid1]=@bid1,"); strSql.Append("[bid2]=@bid2,"); strSql.Append("[bid3]=@bid3,"); strSql.Append("[bid4]=@bid4,"); strSql.Append("[bid5]=@bid5,"); strSql.Append("[bidvol1]=@bidvol1,"); strSql.Append("[bidvol2]=@bidvol2,"); strSql.Append("[bidvol3]=@bidvol3,"); strSql.Append("[bidvol4]=@bidvol4,"); strSql.Append("[bidvol5]=@bidvol5,"); strSql.Append("[update]=@update,"); strSql.Append("[time]=@time"); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@code", SqlDbType.Int, 4), new SqlParameter("@symbol", SqlDbType.NVarChar, 50), new SqlParameter("@name", SqlDbType.VarChar, -1), new SqlParameter("@type", SqlDbType.NChar, 10), new SqlParameter("@open", SqlDbType.Decimal, 9), new SqlParameter("@high", SqlDbType.Decimal, 9), new SqlParameter("@low", SqlDbType.Decimal, 9), new SqlParameter("@status", SqlDbType.Int, 4), new SqlParameter("@price", SqlDbType.Decimal, 9), new SqlParameter("@yestclose", SqlDbType.Decimal, 9), new SqlParameter("@percent", SqlDbType.Float, 8), new SqlParameter("@updown", SqlDbType.Float, 8), new SqlParameter("@arrow", SqlDbType.NChar, 10), new SqlParameter("@volume", SqlDbType.NVarChar, 50), new SqlParameter("@turnover", SqlDbType.Decimal, 9), new SqlParameter("@ask1", SqlDbType.Decimal, 9), new SqlParameter("@ask2", SqlDbType.Decimal, 9), new SqlParameter("@ask3", SqlDbType.Decimal, 9), new SqlParameter("@ask4", SqlDbType.Decimal, 9), new SqlParameter("@ask5", SqlDbType.Decimal, 9), new SqlParameter("@askvol1", SqlDbType.NVarChar, 50), new SqlParameter("@askvol2", SqlDbType.NVarChar, 50), new SqlParameter("@askvol3", SqlDbType.NVarChar, 50), new SqlParameter("@askvol4", SqlDbType.NVarChar, 50), new SqlParameter("@askvol5", SqlDbType.NVarChar, 50), new SqlParameter("@bid1", SqlDbType.Decimal, 9), new SqlParameter("@bid2", SqlDbType.Decimal, 9), new SqlParameter("@bid3", SqlDbType.Decimal, 9), new SqlParameter("@bid4", SqlDbType.Decimal, 9), new SqlParameter("@bid5", SqlDbType.Decimal, 9), new SqlParameter("@bidvol1", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol2", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol3", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol4", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol5", SqlDbType.NVarChar, 50), new SqlParameter("@update", SqlDbType.NVarChar, 50), new SqlParameter("@time", SqlDbType.DateTime), new SqlParameter("@id", SqlDbType.Int, 4) }; parameters[0].Value = model.code; parameters[1].Value = model.symbol; parameters[2].Value = model.name; parameters[3].Value = model.type; parameters[4].Value = model.open; parameters[5].Value = model.high; parameters[6].Value = model.low; parameters[7].Value = model.status; parameters[8].Value = model.price; parameters[9].Value = model.yestclose; parameters[10].Value = model.percent; parameters[11].Value = model.updown; parameters[12].Value = model.arrow; parameters[13].Value = model.volume; parameters[14].Value = model.turnover; parameters[15].Value = model.ask1; parameters[16].Value = model.ask2; parameters[17].Value = model.ask3; parameters[18].Value = model.ask4; parameters[19].Value = model.ask5; parameters[20].Value = model.askvol1; parameters[21].Value = model.askvol2; parameters[22].Value = model.askvol3; parameters[23].Value = model.askvol4; parameters[24].Value = model.askvol5; parameters[25].Value = model.bid1; parameters[26].Value = model.bid2; parameters[27].Value = model.bid3; parameters[28].Value = model.bid4; parameters[29].Value = model.bid5; parameters[30].Value = model.bidvol1; parameters[31].Value = model.bidvol2; parameters[32].Value = model.bidvol3; parameters[33].Value = model.bidvol4; parameters[34].Value = model.bidvol5; parameters[35].Value = model.update; parameters[36].Value = model.time; parameters[37].Value = model.id; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(StockMinInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into StockMinInfo("); strSql.Append("[code],[symbol],[name],[type],[open],[high],[low],[status],[price],[yestclose],[percent],[updown],[arrow],[volume],[turnover],[ask1],[ask2],[ask3],[ask4],[ask5],[askvol1],[askvol2],[askvol3],[askvol4],[askvol5],[bid1],[bid2],[bid3],[bid4],[bid5],[bidvol1],[bidvol2],[bidvol3],[bidvol4],[bidvol5],[update],[time])"); strSql.Append(" values ("); strSql.Append("@code,@symbol,@name,@type,@open,@high,@low,@status,@price,@yestclose,@percent,@updown,@arrow,@volume,@turnover,@ask1,@ask2,@ask3,@ask4,@ask5,@askvol1,@askvol2,@askvol3,@askvol4,@askvol5,@bid1,@bid2,@bid3,@bid4,@bid5,@bidvol1,@bidvol2,@bidvol3,@bidvol4,@bidvol5,@update,@time)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@code", SqlDbType.Int, 4), new SqlParameter("@symbol", SqlDbType.NVarChar, 50), new SqlParameter("@name", SqlDbType.VarChar, -1), new SqlParameter("@type", SqlDbType.NChar, 10), new SqlParameter("@open", SqlDbType.Decimal, 9), new SqlParameter("@high", SqlDbType.Decimal, 9), new SqlParameter("@low", SqlDbType.Decimal, 9), new SqlParameter("@status", SqlDbType.Int, 4), new SqlParameter("@price", SqlDbType.Decimal, 9), new SqlParameter("@yestclose", SqlDbType.Decimal, 9), new SqlParameter("@percent", SqlDbType.Float, 8), new SqlParameter("@updown", SqlDbType.Float, 8), new SqlParameter("@arrow", SqlDbType.NChar, 10), new SqlParameter("@volume", SqlDbType.NVarChar, 50), new SqlParameter("@turnover", SqlDbType.Decimal, 9), new SqlParameter("@ask1", SqlDbType.Decimal, 9), new SqlParameter("@ask2", SqlDbType.Decimal, 9), new SqlParameter("@ask3", SqlDbType.Decimal, 9), new SqlParameter("@ask4", SqlDbType.Decimal, 9), new SqlParameter("@ask5", SqlDbType.Decimal, 9), new SqlParameter("@askvol1", SqlDbType.NVarChar, 50), new SqlParameter("@askvol2", SqlDbType.NVarChar, 50), new SqlParameter("@askvol3", SqlDbType.NVarChar, 50), new SqlParameter("@askvol4", SqlDbType.NVarChar, 50), new SqlParameter("@askvol5", SqlDbType.NVarChar, 50), new SqlParameter("@bid1", SqlDbType.Decimal, 9), new SqlParameter("@bid2", SqlDbType.Decimal, 9), new SqlParameter("@bid3", SqlDbType.Decimal, 9), new SqlParameter("@bid4", SqlDbType.Decimal, 9), new SqlParameter("@bid5", SqlDbType.Decimal, 9), new SqlParameter("@bidvol1", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol2", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol3", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol4", SqlDbType.NVarChar, 50), new SqlParameter("@bidvol5", SqlDbType.NVarChar, 50), new SqlParameter("@update", SqlDbType.NVarChar, 50), new SqlParameter("@time", SqlDbType.DateTime) }; parameters[0].Value = model.code; parameters[1].Value = model.symbol; parameters[2].Value = model.name; parameters[3].Value = model.type; parameters[4].Value = model.open; parameters[5].Value = model.high; parameters[6].Value = model.low; parameters[7].Value = model.status; parameters[8].Value = model.price; parameters[9].Value = model.yestclose; parameters[10].Value = model.percent; parameters[11].Value = model.updown; parameters[12].Value = model.arrow; parameters[13].Value = model.volume; parameters[14].Value = model.turnover; parameters[15].Value = model.ask1; parameters[16].Value = model.ask2; parameters[17].Value = model.ask3; parameters[18].Value = model.ask4; parameters[19].Value = model.ask5; parameters[20].Value = model.askvol1; parameters[21].Value = model.askvol2; parameters[22].Value = model.askvol3; parameters[23].Value = model.askvol4; parameters[24].Value = model.askvol5; parameters[25].Value = model.bid1; parameters[26].Value = model.bid2; parameters[27].Value = model.bid3; parameters[28].Value = model.bid4; parameters[29].Value = model.bid5; parameters[30].Value = model.bidvol1; parameters[31].Value = model.bidvol2; parameters[32].Value = model.bidvol3; parameters[33].Value = model.bidvol4; parameters[34].Value = model.bidvol5; parameters[35].Value = model.update; parameters[36].Value = model.time; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
//读取每分钟数据 private void button1_Click(object sender, EventArgs e) { List <StockInfo> stocklist = _Stockservice.GetModelList(""); string a = DateTime.Now.ToString(); int y = stocklist.Count / 100 + 1; for (int num = 0; num < y; num++) { int c = 100 + num * 100; if (c > stocklist.Count) { c = stocklist.Count; } List <string> stocklist2 = new List <string>(); HttpHelper http = new HttpHelper(); HttpItem item = new HttpItem(); item.URL = "http://api.money.126.net/data/feed/"; for (int stockCount = num * 100; stockCount < c; stockCount++) { string x = stocklist[stockCount].ToString(); switch (stocklist[stockCount].stockcode.Substring(0, 1)) { //3-sz //0-sz //6-sh default: MessageBox.Show("1到5之外的数"); break; case "0": item.URL += "1" + stocklist[stockCount].stockcode + ","; stocklist2.Add("1" + stocklist[stockCount].stockcode); break; case "3": item.URL += "1" + stocklist[stockCount].stockcode + ","; stocklist2.Add("1" + stocklist[stockCount].stockcode); break; case "6": item.URL += "0" + stocklist[stockCount].stockcode + ","; stocklist2.Add("0" + stocklist[stockCount].stockcode); break; case "1": item.URL += "1" + stocklist[stockCount].stockcode + ","; stocklist2.Add("1" + stocklist[stockCount].stockcode); break; case "2": item.URL += "1" + stocklist[stockCount].stockcode + ","; stocklist2.Add("1" + stocklist[stockCount].stockcode); break; } } item.URL += "money.api"; item.Encoding = Encoding.UTF8; item.Method = "GET"; item.Timeout = 100000; item.ReadWriteTimeout = 30000;//写入Post数据超时时间,可选项默认为30000 HttpResult result = http.GetHtml(item); string html = result.Html; string statusCodeDescription = result.StatusDescription; //示例: //_ntes_quote_callback({"0601398":{"code": "0601398", "percent": 0.02314, "share": "1", "high": 6.26, "askvol3": 2000, "askvol2": 117612, "askvol5": 1075200, "askvol4": 1098800, "price": 6.19, "open": 6.05, "bid5": 6.13, "bid4": 6.14, "bid3": 6.15, "bid2": 6.16, "bid1": 6.17, "low": 6.02, "updown": 0.14, "type": "SH", "symbol": "601398", "status": 0, "ask4": 6.21, "bidvol3": 759900, "bidvol2": 762600, "bidvol1": 320900, "update": "2017/10/27 15:59:49", "bidvol5": 1270500, "bidvol4": 613200, "yestclose": 6.05, "askvol1": 66800, "ask5": 6.22, "volume": 456396456, "ask1": 6.18, "name": "\u5de5\u5546\u94f6\u884c", "ask3": 6.2, "ask2": 6.19, "arrow": "\u2191", "time": "2017/10/27 15:30:00", "turnover": 2808909770} }); html = html.Replace("_ntes_quote_callback(", ""); html = html.Replace(");", ""); //object b = JsonConvert.DeserializeObject(html); JObject ja = (JObject)JsonConvert.DeserializeObject(html); JObject jb = (JObject)ja["0601398"]; JObject jb2 = (JObject)ja["1000002"]; //StockMinInfo stock2 = JsonConvert.DeserializeObject<StockMinInfo>(jb.ToString()); //StockMinInfo stock3 = JsonConvert.DeserializeObject<StockMinInfo>(ja["10000002"].ToString()); foreach (string x in stocklist2) { StockMinInfo stock4 = JsonConvert.DeserializeObject <StockMinInfo>(ja[x].ToString()); int ID = _StockMinservice.Add(stock4); if (ID > 0) { } else { MessageBox.Show(x.ToString()); } } } MessageBox.Show(a + " " + DateTime.Now.ToString()); }