/// <summary>
        /// Execute a query with a return value
        /// </summary>
        /// <param name="query">Query to execute</param>
        /// <param name="database">Database to execute query on</param>
        /// <returns>SQLDataReader object with return values</returns>
        public SqlDataReader Query(Dictionary<string,string> data, PreparedStatement stmt)
        {
            Connect();
            if (connection.State != System.Data.ConnectionState.Open) Connect();
            if (connection.State != System.Data.ConnectionState.Open) ErrorMessage("Cannot open connection to server");
            else
            {
                try
                {

                    SqlCommand cmd = stmt.GetCmd();
                    cmd.Connection = connection;
                    SqlDataReader reader = cmd.ExecuteReader();
                    //CloseConnection();
                    return reader;
                }
                catch (SqlException e) { ErrorMessage(e.StackTrace); }
            }
            Console.WriteLine("DICK BUTT v.2");
            return null;
        }
 /// <summary>
 /// Executes a query with no return value
 /// </summary>
 /// 
 /// <param name="database">Database to execute the query on</param>
 public void Command(Dictionary<string, string> data, PreparedStatement statement)
 {
     ValidateStatement(statement);
     SqlCommand cmd = statement.GetCmd();
     foreach(SqlParameter p in cmd.Parameters)
     {
         if(data.ContainsKey(p.ParameterName)){
             p.Value = data[p.ParameterName];
         }else{
             //TODO: throw new Datasadflasjfdælk
         }
     }
     Connect();
     if (connection.State != System.Data.ConnectionState.Open) Connect();
     if (connection.State != System.Data.ConnectionState.Open) ErrorMessage("Cannot open connection to server");
     else
     {
         //SqlCommand cmd = new SqlCommand(query, connection);
         cmd.ExecuteNonQuery();
         CloseConnection();
     }
 }
 public void ValidateStatement(PreparedStatement statement)
 {
     if (!statement.CheckSecret(secret))throw new Exception("The Prepared statement is not created by us (or atlest does no know the 'secret' number)");
 }