class Teacher_payrate_dialog(QtGui.QDialog): def __init__(self, id): QtGui.QDialog.__init__(self) self.ui = Ui_teacher_payrate_dialog() self.ui.setupUi(self) self.id_number = id #store payrate self.payrate_dict = {} self.ui.Add_btn.clicked.connect(self.insert) payrate_query = QSqlQuery() payrate_query.exec_( "select Payname, Payrate from Teacher_Payrate as TP, Payrate as P where \ TP.Payrate_id = P.Payrate_id and TP.Teacher_id = %d" % id) while payrate_query.next(): self.ui.Payname_comboBox.addItem(payrate_query.value(0)) self.payrate_dict[payrate_query.value(0)] = float( payrate_query.value(1)) if self.ui.Payname_comboBox.currentText() != '': self.ui.Payrate_update_lineEdit.setText( str(self.payrate_dict[str( self.ui.Payname_comboBox.currentText())])) self.ui.Update_btn.clicked.connect(self.update) self.ui.Payname_comboBox.currentIndexChanged.connect(self.update_text) def update_text(self): if self.ui.Payname_comboBox.currentText() != '': self.ui.Payrate_update_lineEdit.setText( str(self.payrate_dict[str( self.ui.Payname_comboBox.currentText())])) def update(self): if self.ui.Payname_comboBox.currentText() != '': update_query = QSqlQuery() if update_query.exec_("update Teacher_Payrate as TP, Payrate as P set P.Payrate = %f where\ TP.Teacher_id = %d and TP.Payrate_id = P.Payrate_id and P.Payname = '%s'" % \ (float(self.ui.Payrate_update_lineEdit.text()), self.id_number,\ self.ui.Payname_comboBox.currentText())): self.payrate_dict[str( self.ui.Payname_comboBox.currentText())] = float( self.ui.Payrate_update_lineEdit.text()) QtGui.QMessageBox.information(self, 'success', 'Success!') else: QtGui.QMessageBox.information(self, 'fail', 'Fail!') def insert(self): payname = self.ui.Payname_lineEdit.text() payrate = self.ui.Payrate_lineEdit.text() if payname == '': QtGui.QMessageBox.warning(self, 'Error', 'Please input payname') return if payrate == '': QtGui.QMessageBox.warning(self, 'Error', 'Please input payrate') return insert_query = QSqlQuery() if insert_query.exec("insert into Payrate (Payname, Payrate)\ values ('%s', %f)" % (payname, float(payrate))): insert_query.exec("SELECT LAST_INSERT_ID()") insert_query.next() payrate_id = insert_query.value(0) if insert_query.exec( "insert into Teacher_Payrate values ('%s', '%s', 0)" % (self.id_number, payrate_id)): QtGui.QMessageBox.information(self, 'success', 'Success!') else: QtGui.QMessageBox.information(self, 'fail', 'Fail!') else: QtGui.QMessageBox.information(self, 'fail', 'Fail!')
class Teacher_payrate_dialog(QtGui.QDialog): def __init__(self, id): QtGui.QDialog.__init__(self) self.ui = Ui_teacher_payrate_dialog() self.ui.setupUi(self) self.id_number = id; #store payrate self.payrate_dict = {} self.ui.Add_btn.clicked.connect(self.insert) payrate_query = QSqlQuery() payrate_query.exec_("select Payname, Payrate from Teacher_Payrate as TP, Payrate as P where \ TP.Payrate_id = P.Payrate_id and TP.Teacher_id = %d" % id) while payrate_query.next(): self.ui.Payname_comboBox.addItem(payrate_query.value(0)) self.payrate_dict[payrate_query.value(0)] = float(payrate_query.value(1)) if self.ui.Payname_comboBox.currentText() != '': self.ui.Payrate_update_lineEdit.setText(str(self.payrate_dict[str(self.ui.Payname_comboBox.currentText())])) self.ui.Update_btn.clicked.connect(self.update) self.ui.Payname_comboBox.currentIndexChanged.connect(self.update_text) def update_text(self): if self.ui.Payname_comboBox.currentText() != '': self.ui.Payrate_update_lineEdit.setText(str(self.payrate_dict[str(self.ui.Payname_comboBox.currentText())])) def update(self): if self.ui.Payname_comboBox.currentText() != '': update_query = QSqlQuery() if update_query.exec_("update Teacher_Payrate as TP, Payrate as P set P.Payrate = %f where\ TP.Teacher_id = %d and TP.Payrate_id = P.Payrate_id and P.Payname = '%s'" % \ (float(self.ui.Payrate_update_lineEdit.text()), self.id_number,\ self.ui.Payname_comboBox.currentText())): self.payrate_dict[str(self.ui.Payname_comboBox.currentText())] = float(self.ui.Payrate_update_lineEdit.text()) QtGui.QMessageBox.information(self, 'success', 'Success!') else: QtGui.QMessageBox.information(self, 'fail', 'Fail!') def insert(self): payname = self.ui.Payname_lineEdit.text() payrate = self.ui.Payrate_lineEdit.text() if payname == '': QtGui.QMessageBox.warning( self, 'Error', 'Please input payname') return if payrate == '': QtGui.QMessageBox.warning( self, 'Error', 'Please input payrate') return insert_query = QSqlQuery() if insert_query.exec("insert into Payrate (Payname, Payrate)\ values ('%s', %f)" % (payname, float(payrate))): insert_query.exec("SELECT LAST_INSERT_ID()") insert_query.next() payrate_id = insert_query.value(0) if insert_query.exec("insert into Teacher_Payrate values ('%s', '%s', 0)" %(self.id_number, payrate_id)): QtGui.QMessageBox.information(self, 'success', 'Success!') else: QtGui.QMessageBox.information(self, 'fail', 'Fail!') else: QtGui.QMessageBox.information(self, 'fail', 'Fail!')