0

QMessageBoxの回答に多少奇妙な問題があります。この関数は、SQLiteデータベースから行を削除するために使用されます。削除する前に、メッセージボックスが表示され、確認を求められます。クエリは正常に実行されますが、YESまたはNOで答えたかどうかに関係なく、常に削除されます。

コードは次のとおりです。

def deleteFromDB(self):
  name = (str(self.ui.searchName.text()).upper())
    if name:
      with con:
        cur = con.cursor()
        cur.execute('SELECT name FROM cases WHERE name =?',[name])
        tempname = str(cur.fetchone())
        if len(tempname) != 4 :
            reply = QtGui.QMessageBox.question(self, 'Removal',
                    "Are you sure ", QtGui.QMessageBox.Yes |
                     QtGui.QMessageBox.No, QtGui.QMessageBox.No)
                 if reply == QtGui.QMessageBox.Yes:
                     cur.execute('DELETE FROM cases where name =?',[name])
4

0 に答える 0