Index: PySQLPool/PySQLPool/PySQLQuery.py =================================================================== --- PySQLPool/PySQLPool/PySQLQuery.py (revision 20) +++ PySQLPool/PySQLPool/PySQLQuery.py (working copy) @@ -61,6 +61,8 @@ """ self.lastError = None + cursor = None + try: self._GetConnection() @@ -72,12 +74,12 @@ self.rowcount = cursor.rowcount self.record = cursor.fetchall() - - cursor.close() except Exception, e: self.lastError = e self.affectedRows = None finally: + if cursor is not None: + cursor.close() self._ReturnConnection() if self.lastError is not None: raise self.lastError @@ -98,6 +100,7 @@ self.affectedRows = None self.rowcount = None self.record = None + cursor = None try: self._GetConnection() @@ -105,10 +108,11 @@ #Execute query and store results cursor = self.conn.connection.cursor(MySQLdb.cursors.DictCursor) cursor.executemany(query, args) - cursor.close() except Exception, e: self.lastError = e finally: + if cursor is not None: + cursor.close() self._ReturnConnection() if self.lastError is not None: raise self.lastError @@ -124,6 +128,7 @@ self.affectedRows = 0 self.rowcount = None self.record = None + cursor = None try: self._GetConnection() @@ -135,11 +140,11 @@ self.affectedRows += cursor.execute(query[0], query[1]) else: self.affectedRows += cursor.execute(query) - - cursor.close() except Exception, e: self.lastError = e finally: + if cursor is not None: + cursor.close() self._ReturnConnection() if self.lastError is not None: raise self.lastError