我的代码有什么问题? self.c.execute(“从书中删除book_name =” + str(delBooks)的书籍)

时间:2020-04-25 05:01:06

标签: python sqlite pyqt5

在self.c.execute(“从书中删除WHERE book_name =” + str(delBooks))中,我想从deleteBooks方法中调用变量delBooks,但它不起作用吗?那是PyQt5,我使用的数据库是sqlite3。

class DeleteDialog(QDialog):
    def __init__(self, *args, **kwargs):
        super(DeleteDialog, self).__init__(*args, **kwargs)

        self.QBtn = QPushButton()
        self.QBtn.setText("Delete Book")

        self.setWindowTitle("Delete Book")
        self.setFixedWidth(300)
        self.setFixedHeight(100)
        self.QBtn.clicked.connect(self.deleteBooks)
        layout = QVBoxLayout()

        self.deleteinput = QLineEdit()
        self.deleteinput.setPlaceholderText("Book Name")
        layout.addWidget(self.deleteinput)
        layout.addWidget(self.QBtn)
        self.setLayout(layout)

    def deleteBooks(self):

        delBooks = ""
        delBooks = self.deleteinput.text()
        try:
            self.conn = sqlite3.connect("database.db")
            self.c = self.conn.cursor()
            self.c.execute("DELETE from books WHERE book_name="+str(delBooks))
            self.conn.commit()
            self.c.close()
            self.conn.close()
            QMessageBox.information(QMessageBox(),'Successful','Deleted From Table Successful')
            self.close()
        except Exception:
            QMessageBox.warning(QMessageBox(), 'Error', 'Could not Delete that book from database.')

0 个答案:

没有答案
相关问题