def apply(self, sql, args=None, cursorFunc=nullFunc): sql = sql.replace('?', '%s') cursor = self._connection.cursor() results = None try: if args is None: cursor.execute(sql) else: cursor.execute(sql, args) results = cursorFunc(cursor) except db2Imp.DatabaseError, message: cursor.close() raise db2Imp.DatabaseError(message)