Agregar registros en MySQL usando PyQy
Tengo problemas con el siguiente código, No puedo agregar los registros a la base de datos. Puntualmente cuando uso quiero ejecutar "agregarPago" no me agregar ningún registro. Si alguien tiene idea de lo que estoy fallando, por favor ayúdeme.
Python: 3.4
PyQt: GPL v4.11.4 for Python v3.4 (x64)
Import sys Import MySQLdb From PyQt4 import QtSql, QtCore, QtGui from FormAgregarClientes import * from FormAgregarComentario import * from FormAgregarPago import * from Entorno import * class VentanaPagos(QtGui.QDialog): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.ui = Ui_DialogPagos() self.ui.setupUi(self) self.ui.pushButton_3.clicked.connect(self.agregarPago) self.db = QtSql.QSqlDatabase.addDatabase('QMYSQL') self.db.setHostName("localhost") self.db.setDatabaseName("sistemaccbd") self.db.setUserName("root") self.db.setPassword("PASS") self.db.open() def agregarPago(self): estado = self.db.open() if estado == False: QtGui. QMessageBox. Warning(self,"Error, no se agrego el pago ","No se puede conectar a la Base de datos: " + db.lastError().text(), "Entendido") else: contrato = self.ui.lineEdit.text() fecha = self.ui.dateEdit.text() monto = self.ui.lineEdit_2.text() medio = self.ui.lineEdit_3.text() recibo = self.ui.lineEdit_17.text() observacion = self.ui.lineEdit_4.text() sql = "INSERT INTO tbpagos(contrato, fecha, monto, medio, recibo, observacion) VALUES (:contrato, :fecha, :monto, :medio, :recibo, :observacion)" consulta = QtSql.QSqlQuery() Consulta. Prepare(sql) Consulta.bindValue(":contrato", contrato) Consulta.bindValue(":fecha", fecha) Consulta.bindValue(":monto", monto) Consulta.bindValue(":medio", medio) Consulta.bindValue(":recibo", recibo) Consulta.bindValue(":observacion", observacion) self.db.commit() self.db.close() estado = consulta.exec_() if estado == True: QtGui. QMessageBox.information(self, "Mensaje","El pago se agrego exitosamente.", QtGui. QMessageBox. Ok) Else: QtGui. QMessageBox. Warning(self,"Error", "El pago no se ha podido agregar", "Entendido") self.db.close()
1 respuesta
Respuesta de david ..