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 ..
