//public List<LoadSymbols> GetChart1(Dameer timeFrom, Dameer timeTo, string tableName, string symbolName, bool IsRealTime) //{ // string sql; // int count = 0; // int i = 0; // sql = "SELECT id FROM " + tableName + " WHERE Time >= '" + timeFrom.Value + "' AND Time < '" + timeTo.Value + // "' AND SYMBOL = '" + symbolName + "' AND Lvl=1 ORDER BY id limit 1"; // i = GetFirstId(sql); // sql = // "SELECT Id, Time, TimeMS, Symbol, Currency, Lvl, BidP1, BidQ1, BidP2, BidQ2, BidP3, BidQ3, BidP4, BidQ4, BidP5, BidQ5, AskP1, AskQ1, AskP2, AskQ2, AskP3, AskQ3, AskP4, AskQ4, AskP5, AskQ5 FROM " + // tableName + " WHERE Time >= '" + timeFrom.Value + "' AND Time < '" + timeTo.Value + // "' AND SYMBOL = '" + symbolName + "' AND id >= " + i + " ORDER BY id"; // return ExecQueryGraph(sql); //} private int ExecQueryFprGraph(string sql) { using (NpgsqlCommand cmd = new NpgsqlCommand(sql)) { cmd.Connection = _conn; OpenConnection("postgres", "vitaliy", "localhost", "5432"); cmd.CommandType = CommandType.Text; cmd.CommandTimeout = 0; int count = 0; try { //using (NpgsqlDataReader reader = cmd.ExecuteReader()) using (NpgsqlDataReader reader = cmd.ExecuteReader()) { LoadSymbols symbol = new LoadSymbols(); while (reader.Read()) { //symbol.Id = int.Parse(reader["Id"].ToString()); //symbol.Time = DateTime.Parse(reader["Time"].ToString()); symbol.Id = int.Parse(reader["Id"].ToString()); symbol.Time = DateTime.Parse(reader["Time"].ToString()); symbol.Time = symbol.Time.AddMilliseconds(double.Parse(reader["TimeMS"].ToString())); symbol.Level = int.Parse(reader["Lvl"].ToString()); symbol.Symbol = reader["Symbol"].ToString(); symbol.Currency = reader["Currency"].ToString(); for (int i = 0; i < 5; i++) { symbol.BidPrices[i] = double.Parse(reader["BidP" + (i + 1)].ToString()); symbol.AskPrices[i] = double.Parse(reader["AskP" + (i + 1)].ToString()); symbol.BidQuantities[i] = int.Parse(reader["BidQ" + (i + 1)].ToString()); symbol.AskQuantities[i] = int.Parse(reader["AskQ" + (i + 1)].ToString()); } //if (count > 10000) //{ // //if (records[count].Time < records[count - 1].Time) // { // //MessageBox.Show("urgh data is not sequenced properly: " + Streams[index].chart[count].Time.ToString(), Streams[index].SymbolName); // return (-1); // } //} count++; //graph.ChartsList.Add(symbol); } return(count); } } catch //(Exception ex) { //System.Windows.Forms.MessageBox.Show(ex.Message); return(0); } } }
private int ExecQuery(string sql) { using (NpgsqlCommand cmd = new NpgsqlCommand(sql)) { cmd.Connection = _conn; OpenConnection("postgres", "vitaliy", "localhost", "5432"); cmd.CommandType = CommandType.Text; cmd.CommandTimeout = 0; int count = 0; try { using (NpgsqlDataReader reader = cmd.ExecuteReader()) { LoadSymbols symbol = new LoadSymbols(); while (reader.Read()) { symbol.Time = DateTime.Parse(reader["Time"].ToString()); symbol.Time = symbol.Time.AddMilliseconds(double.Parse(reader["TimeMS"].ToString())); symbol.Level = int.Parse(reader["Lvl"].ToString()); symbol.Symbol = reader["Symbol"].ToString(); symbol.Currency = reader["Currency"].ToString(); for (int i = 0; i < 5; i++) { symbol.BidPrices[i] = double.Parse(reader["BidP" + (i + 1)].ToString()); symbol.AskPrices[i] = double.Parse(reader["AskP" + (i + 1)].ToString()); symbol.BidQuantities[i] = int.Parse(reader["BidQ" + (i + 1)].ToString()); symbol.AskQuantities[i] = int.Parse(reader["AskQ" + (i + 1)].ToString()); } graph.ChartsList.Add(symbol); if (count > 10000) { if (graph.ChartsList[count].Time < graph.ChartsList[count - 1].Time) { return(-1); } } count++; //Application.DoEvents(); } return(count); } } catch //(Exception ex) { //System.Windows.Forms.MessageBox.Show(ex.Message); return(0); } } }
private int ExecQuery(int index, string sql) { using (NpgsqlCommand cmd = new NpgsqlCommand(sql)) { cmd.Connection = parse[index].connection; cmd.CommandType = CommandType.Text; cmd.CommandTimeout = 0; int count = 0; try { using (NpgsqlDataReader reader = cmd.ExecuteReader()) { LoadSymbols symbol = new LoadSymbols(); while (reader.Read()) { //InitSymbolSet(ref symbol, Streams[index].SymbolName, Streams[index].Digits); symbol.Time = DateTime.Parse(reader["Time"].ToString()); symbol.Time = symbol.Time.AddMilliseconds(double.Parse(reader["TimeMS"].ToString())); symbol.Level = int.Parse(reader["Lvl"].ToString()); for (int i = 0; i < 6 - 1; i++) { symbol.BidPrices[i] = double.Parse(reader["BidP" + (i + 1)].ToString()); symbol.AskPrices[i] = double.Parse(reader["AskP" + (i + 1)].ToString()); symbol.BidQuantities[i] = int.Parse(reader["BidQ" + (i + 1)].ToString()); symbol.AskQuantities[i] = int.Parse(reader["AskQ" + (i + 1)].ToString()); } parse[index].chart.Add(symbol); if (count > 100001) { if (parse[index].chart[count].Time < parse[index].chart[count - 1].Time) { //MessageBox.Show("urgh data is not sequenced properly: " + Streams[index].chart[count].Time.ToString(), Streams[index].SymbolName); return(-1); } } count++; //Application.DoEvents(); } return(count); } } catch //(Exception ex) { //System.Windows.Forms.MessageBox.Show(ex.Message); return(0); } } }