public IList <AgentInfo> GetAll() { using var connection = new SQLiteConnection(_connector.GetStringConnection()); using var cmd = new SQLiteCommand(connection); cmd.Connection.Open(); cmd.CommandText = $"SELECT id, active, host FROM {Table};"; cmd.Prepare(); var returnList = new List <AgentInfo>(); using (SQLiteDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { returnList.Add(new AgentInfo() { Id = reader.GetInt64(0), Active = reader.GetBoolean(1), Host = reader.GetString(2) }); } } return(returnList); }
/// <summary> /// Сохранение метрики в БД /// </summary> /// <param name="item"></param> /// <returns></returns> protected void CreateMetric(T item) { using var connection = new SQLiteConnection(_connector.GetStringConnection()); using var cmd = new SQLiteCommand(connection); cmd.Connection.Open(); cmd.CommandText = $"INSERT INTO {_tableName} (agentId, value, time) VALUES(@agent, @value, @time)"; cmd.Parameters.AddWithValue("@value", item.Value); cmd.Parameters.AddWithValue("@agent", item.AgentId); cmd.Parameters.AddWithValue("@time", item.Time.ToUnixTimeSeconds()); cmd.Prepare(); cmd.ExecuteNonQuery(); }
public void Create(DotNetMetric item) { using var connection = new SQLiteConnection(_connector.GetStringConnection()); // создаем команду using var cmd = new SQLiteCommand(connection); cmd.Connection.Open(); // прописываем в команду SQL запрос на вставку данных cmd.CommandText = $"INSERT INTO {Table} (value, time) VALUES(@value, @time)"; // добавляем параметры в запрос из нашего объекта cmd.Parameters.AddWithValue("@value", item.Value); // в таблице будем хранить время в секундах, потому преобразуем перед записью в секунды // через свойство cmd.Parameters.AddWithValue("@time", item.Time.ToUnixTimeSeconds()); // подготовка команды к выполнению cmd.Prepare(); // выполнение команды cmd.ExecuteNonQuery(); }