/// <summary> /// Queries the database from the given data store key, returning all results found. /// <para>List will be empty if no results are found</para> /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dataStore"></param> /// <param name="query"></param> /// <param name="queryParameters"></param> /// <returns></returns> public List <T> Query <T>(string dataStore, string query, object queryParameters) { using (var conn = GetConnection(dataStore)) { conn.Open(); using (var cmd = new SQLiteCommand(query, conn)) { var objectParams = NulahStandardLib.GetPropertiesAndValuesForObject(queryParameters); foreach (var param in objectParams) { AddValueToQueryParameters(param.Key, param.Value, cmd.Parameters); } var q = cmd.ExecuteReader(); return(ReaderToType <T>(q)); } } }
/// <summary> /// Updates the value in the given database by its data store key /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dataStore"></param> /// <param name="query"></param> /// <param name="queryParameters"></param> /// <returns></returns> public bool Update <T>(string dataStore, string query, object queryParameters) { using (var conn = GetConnection(dataStore)) { conn.Open(); using (var cmd = new SQLiteCommand(query, conn)) { var objectParams = NulahStandardLib.GetPropertiesAndValuesForObject(queryParameters); foreach (var param in objectParams) { AddValueToQueryParameters(param.Key, param.Value, cmd.Parameters); } var update = cmd.ExecuteNonQuery(); if (update > 0) { return(true); } } } return(false); }