Do action on database.

    Parameters
    ----------
      cmd : string
        SQL command.

      args : tuple [optional : default = None]
        Arguments to be passed along with the SQL command.
        e.g. cmd="SELECT Value FROM Config WHERE Name=?" args=(fieldName, )

      commit : boolean [optional : default = True]
        If true commit database changes after command is executed.

      error : boolean [optional : default = True]
        If False then any sqlite3.OperationalError exceptions will cause this
        function to return None, otherwise the exception will be raised.

    Returns
    ----------
      If a valid result is obtained from the database this will be returned.
      If an error occurs and the error argument is set to False then the
      return value will be None.

def _ActionDatabase(self, cmd, args = None, commit = True, error = True):
    """
    Do action on database.

    Parameters
    ----------
      cmd : string
        SQL command.

      args : tuple [optional : default = None]
        Arguments to be passed along with the SQL command.
        e.g. cmd="SELECT Value FROM Config WHERE Name=?" args=(fieldName, )

      commit : boolean [optional : default = True]
        If true commit database changes after command is executed.

      error : boolean [optional : default = True]
        If False then any sqlite3.OperationalError exceptions will cause this
        function to return None, otherwise the exception will be raised.

    Returns
    ----------
      If a valid result is obtained from the database this will be returned.
      If an error occurs and the error argument is set to False then the
      return value will be None.
    """
    goodlogging.Log.Info("DB", "Database Command: {0} {1}".format(cmd, args), verbosity=self.logVerbosity)
    with sqlite3.connect(self._dbPath) as db:
      try:
        if args is None:
          result = db.execute(cmd)
        else:
          result = db.execute(cmd, args)
      except sqlite3.OperationalError:
        if error is True:
          raise
        return None
      else:
        if commit is True:
          db.commit()
        return result.fetchall()