public override ArrayList ParseHtml(string source, DateTime date) { Logger.Log("Parsing Foreign Page:" + date.ToString()); JObject obj = JObject.Parse(source); ArrayList stocks = new ArrayList(); if (!IsValidJson(source)) { return(stocks); } if (obj == null || obj["data"] == null) { return(stocks); } foreach (JArray stk in obj["data"]) { //String stock_str = stk.ToString(); //stock_str = stock_str.Substring(1, stock_str.Length - 2); //remove [] JToken[] token_ary = stk.ToArray(); String[] stk_strings = new string[token_ary.Length]; for (int i = 0; i < token_ary.Length; i++) { stk_strings[i] = token_ary[i].ToString(); } JuristicTradeInfo stock_info = new JuristicTradeInfo(stk_strings, date); stocks.Add(stock_info); } return(stocks); }
public static void StockData_SaveForeign(ArrayList data) { foreach (Object obj in data) { JuristicTradeInfo stock_info = (JuristicTradeInfo)obj; String stock_db_name = stock_info.stock_index; if (stock_db_name.StartsWith("237") == false) //debug { continue; } /*string sql_update = "UPDATE @stock_db_name " + * " SET foreign_buy=@buy_volume, foreign_sell=@sell_volume, foreign_total=@total_volume " + * " WHERE trans_date =@trans_date;";*/ string sql_update = "UPDATE " + StockDbName(stock_db_name) + " SET foreign_buy=@buy_volume, foreign_sell=@sell_volume, foreign_total=@total_volume " + " WHERE trans_date =@trans_date;"; MySqlCommand cmd_insert = new MySqlCommand(sql_update, conn); cmd_insert.Parameters.AddWithValue("@stock_db_name", StockDbName(stock_db_name)); cmd_insert.Parameters.AddWithValue("@buy_volume", stock_info.buy_volume); cmd_insert.Parameters.AddWithValue("@sell_volume", stock_info.sell_volume); cmd_insert.Parameters.AddWithValue("@total_volume", stock_info.total_volume); cmd_insert.Parameters.AddWithValue("@trans_date", Util.convertDate2mysql(stock_info.trans_date)); try { cmd_insert.ExecuteNonQuery(); } catch (MySql.Data.MySqlClient.MySqlException ex) { //MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message, // "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }