コード例 #1
0
ファイル: accionMysql.py プロジェクト: imbi7py/03Corrupcion
 def _accion(self):
     validos = False
     if self._revisar:
         self._prepararCampos()
         validos = self._validarCampos()
     errorNumero = 0
     if validos or not self._revisar:
         self._conexion.reconnect()
         consulta = self._crearConsulta()
         try:
             ConectarMysql.ejecutar(AccionMysql._conexion, consulta)
         except Exception as error:
             self._resetearAutoIncremento()
             errorNumero = error.errno
             if errorNumero == errorcode.ER_DUP_ENTRY:
                 # entrada duplicada
                 ErrorCampoModal.errorDuplicado(error.msg)
             elif errorNumero == errorcode.ER_ROW_IS_REFERENCED_2:
                 # fk_id en uso
                 ErrorCampoModal.campoReferenciado(error.msg)
             else:
                 ErrorCampoModal.errorDesconocido(error.msg)
             # fin if entrada duplicada
         else:
             ErrorCampoModal.correcto()
         finally:
             self._conexion.close()
         # fin try ejecutar
         if errorNumero == 0:
             self.close()
コード例 #2
0
 def _realizarAccion(self):
     '''
     Realiza la acción CRUD pertinente.
     '''
     for fila in range(len(self._registros)):
         hijos = self.tablaRegistros.cellWidget(fila, 0).children()
         checkeo = hijos[1].isChecked()
         if self._esCorrecto(checkeo):
             VentanaInsertarCampoRegistros._conexion.reconnect()
             cadena = self._crearConsulta(fila)
             ConectarMysql.ejecutar(VentanaInsertarCampoRegistros._conexion,
                                    cadena)
             VentanaInsertarCampoRegistros._conexion.close()
         # fin if
     # fin for
     self.close()
コード例 #3
0
 def __init__(self):
     try:
         if ConexionMysql._conexion is None:
             # con ConexionMysql._conexion queda claro que es el atributo static
             ConexionMysql._conexion = ConectarMysql.conectar()
             # con 'self._conexion =' crea el atributo de la instancia
     except:
         raise ConnectionError
     else:
         if ConexionMysql._conexion.is_connected():
             ConexionMysql._conexion.close()
コード例 #4
0
        return PrepararInputs.quitarEspaciosCentrales(consulta)

    # fin _crearConsulta


# fin VentanaEditarCargo

if __name__ == "__main__":
    try:
        app = QtWidgets.QApplication([])
        id = 1
        ventana = VentanaEditarCargo(id)
        ventana.show()
        app.exec_()
        try:
            conexion = ConectarMysql.conectar()
            id = 11
            lista = SeleccionarCargos.obtenerCargo(conexion, id)
            conexion.close()
            if len(lista) == 0:
                raise ValueError
            print(lista)
            print(lista[0][0])
        except ValueError:
            ErrorCampoModal.errorNoRegistro(id)
        except ConnectionError:
            ErrorCampoModal.errorConexion()
    except ValueError:
        ErrorCampoModal.errorNoRegistro(id)
    except ConnectionError:
        ErrorCampoModal.errorConexion()
コード例 #5
0
 def _resetearAutoIncremento(self):
     '''
     Resetea el ID autoincremental.
     '''
     consulta = "ALTER TABLE casos AUTO_INCREMENT = 1"
     ConectarMysql.ejecutar(VentanaAccionMysql._conexion, consulta)