コード例 #1
0
        private static List <StatisticDay> getList(string sql)
        {
            OdbcConnection connection = DBManager.GetOdbcConnection();

            connection.Open();
            OdbcCommand    command = new OdbcCommand(sql, connection);
            OdbcDataReader reader  = command.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

            if (reader.HasRows)
            {
                List <StatisticDay> list = StatisticDay.getList(reader);
                connection.Close();
                return(list);
            }
            connection.Close();
            return(null);
        }
コード例 #2
0
        public IEnumerable <StatisticDay> GetDailySensorMaxMinAvgOnParameterBetweenDatesOnCity(string parameter, string date1, string date2, string city)
        {
            List <StatisticDay> lista     = new List <StatisticDay>();
            StatisticDay        statistic = null;

            try
            {
                conn.Open();
                //20171130
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = "SELECT DATEPART(DAY, DateTime) AS DAY, Parameter, Location, MIN(Read_Value) AS MIN, MAX(Read_Value) AS MAX, AVG(Read_Value) AS AVG FROM SensorsParameters WHERE CONVERT(varchar(15), DateTime, 112) BETWEEN @date1 AND @date2 AND Location = @city AND Parameter = @parameter GROUP BY DATEPART(DAY, DateTime), Parameter, Location;";
                cmd.Parameters.AddWithValue("@parameter", parameter);
                cmd.Parameters.AddWithValue("@city", city);
                cmd.Parameters.AddWithValue("@date1", date1);
                cmd.Parameters.AddWithValue("@date2", date2);
                cmd.Connection = conn;

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    statistic = new StatisticDay(
                        (int)reader["MIN"],
                        (int)reader["MAX"],
                        (int)reader["AVG"],
                        (string)reader["Location"],
                        (string)reader["Parameter"],
                        (int)reader["DAY"]
                        );
                    lista.Add(statistic);
                }
                reader.Close();
                conn.Close();
            }
            catch (Exception ex)
            {
                if (conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }

                throw ex;
            }

            return(lista);
        }