Exemplo n.º 1
0
 /// <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));
         }
     }
 }
Exemplo n.º 2
0
        /// <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);
        }