def detail_show(self):
        curIndex = self.ui.Teacher_view.currentIndex().row()
        if curIndex == -1:
            QtGui.QMessageBox.warning(
                self, 'Error', 'Please select a row')
            return curIndex
        
       
        self.detail = Teacher_info_dialog()
        
        self.detail.show()
        
        self.detail.record = self.ui.Teacher.record(curIndex)

        address = QSqlQuery()
        self.detail.Address_id = self.detail.record.field(5).value()
        if not isinstance(self.detail.Address_id, QtCore.QPyNullVariant):
            address.exec_("select * from Address where Address_id = %d" % self.detail.Address_id)
            address.next()
        self.detail.record_A = address.record()
    
  
        
        #check weather the data exists in database

        #TeacherID
        if not isinstance(self.detail.record.field(0).value(), QtCore.QPyNullVariant):
            self.detail.ui.Id_detail_lineEdit.setText(str(self.detail.record.field(0).value()))
        #TeacherName
        if not isinstance(self.detail.record.field(1).value(), QtCore.QPyNullVariant):
            self.detail.ui.Name_detail_lineEdit.setText(self.detail.record.field(1).value())
        #TeacherGender
        if not isinstance(self.detail.record.field(7).value(), QtCore.QPyNullVariant):
            self.detail.ui.Gender_comboBox.addItem("Male")
            self.detail.ui.Gender_comboBox.addItem("Female")
            if self.detail.record.field(7).value() == "Male":
                self.detail.ui.Gender_comboBox.setCurrentIndex(0)
            else:
                self.detail.ui.Gender_comboBox.setCurrentIndex(1)
            
        
        #TeacherEmail
        if not isinstance(self.detail.record.field(6).value(), QtCore.QPyNullVariant):
            self.detail.ui.Email_detail_lineEdit.setText(self.detail.record.field(6).value())
        #need detail
        #TeacherBirth
        if not isinstance(self.detail.record.field(11).value(), QtCore.QPyNullVariant):
            self.detail.ui.Birth_detail_dateEdit.setDate(self.detail.record.field(11).value())
        #TeacherHomePhone
        if not isinstance(self.detail.record.field(2).value(), QtCore.QPyNullVariant):
            self.detail.ui.Homephone_detail_lineEdit.setText(self.detail.record.field(2).value())
        #TeacherCellPhone
        if not isinstance(self.detail.record.field(3).value(), QtCore.QPyNullVariant):
            self.detail.ui.Cellphone_detail_lineEdit.setText(self.detail.record.field(3).value())
        #TeacherWorkPhone
        if not isinstance(self.detail.record.field(4).value(), QtCore.QPyNullVariant):
            self.detail.ui.Workphone_detail_lineEdit.setText(self.detail.record.field(4).value())

        #TeacherSNN  
        if not isinstance(self.detail.record.field(8).value(), QtCore.QPyNullVariant):
            self.detail.ui.SSN_detail_lineEdit.setText(self.detail.record.field(8).value())
        #Teacher address
        if not isinstance(self.detail.record_A.field(4).value(), QtCore.QPyNullVariant):
            self.detail.ui.Zipcode_detail_lineEdit.setText(str(self.detail.record_A.field(4).value()))

        if not isinstance(self.detail.record.field(1).value(), QtCore.QPyNullVariant):
            self.detail.ui.Address_detail_lineEdit.setText(self.detail.record_A.field(1).value())

        if not isinstance(self.detail.record_A.field(2).value(), QtCore.QPyNullVariant):
            self.detail.ui.City_detail_lineEdit.setText(self.detail.record_A.field(2).value())
        if not isinstance(self.detail.record_A.field(3).value(), QtCore.QPyNullVariant):
            index = self.detail.ui.State_detail_ComboBox.findText(self.detail.record_A.field(3).value())
            self.detail.ui.State_detail_ComboBox.setCurrentIndex(index)
        #TeacherMedical
        if not isinstance(self.detail.record.field(12).value(), QtCore.QPyNullVariant):
            self.detail.ui.Medical_detail_textEdit.setText(str(self.detail.record.field(10).value()))
        

        self.detail.ui.Close_detail_btn.clicked.connect(self.detail.close)
        self.detail.ui.Update_detail_btn.clicked.connect(self.Teacherinfo_update)