# File lib/sqlite_magic.rb, line 48
    def execute(query,data=nil)
      raw_response = data ? database.execute2(query, data) : database.execute2(query)
      keys = raw_response.shift # get the keys
      raw_response.map{|e| Hash[keys.zip(e)] }
    rescue SQLite3::SQLException => e
      puts "Exception (#{e.inspect}) raised" if verbose?
      case e.message
      when /no such table/
        raise NoSuchTable.new(e.message)
      else
        raise e
      end
    end