Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2010, 22:04
Nano-rosario
 
Fecha de Ingreso: abril-2008
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
MySql Commit InnoDB

Estoy implementando un modulo para manejar la conn a la base de datos desde una sola instancia para eso uso la clase GestorBD. Pero no me guarda los datos en la base desde de executar una consulta. Realizo commit antes de cerrar el cursor. Las tablas usan InnoDB.
Si alguno ve alguna forma de mejorar la clase por favor aporte

Código:
import MySQLdb

class GestorBD(object):
    instance=None
    def __new__(cls, *args, **kargs):
        if cls.instance is None:
            cls.instance=object.__new__(cls, *args, **kargs)          
        return cls.instance    

    conn = ""
   
    def Connect(self,server):
        self.conf = {"host":server["host"],
            "user":server["user"],
            "passwd":server["passwd"],
            "db":server["db"]}
        try:
            self.conn = MySQLdb.connect(**self.conf)
        except: 
            return False
        
    def Disconnect(self):
        self.conn.close()
        
    def execute(self, consulta):
        self.cursor=self.conn.cursor()
        try:
            self.cursor.execute(consulta)        
            registros=self.cursor.fetchall()           
            return registros
        except MySQLdb.Error, e:
            return False
        self.conn.commit()
        self.cursor.close
        
    def executeone(self, consulta):
        self.cursor=self.conn.cursor()
        try:
            self.cursor.execute(consulta)        
            registro=self.cursor.fetchone ()
            return registro
        except MySQLdb.Error, e:
            return False
        self.conn.commit()
        self.cursor.close
Saludos