#Delete suspense window
class dWindow(QtGui.QMainWindow, Ui_dWindow):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self, parent)
self.setupUi(self)
for row in cursor.execute("SELECT FIRSTNAME FROM Staff"):
self.comboUser.addItems(row)
con.close()
self.btnDeleteSuspense.clicked.connect(self.btnDeleteSuspense_Clicked)
def btnDeleteSuspense_Clicked(self):
user = self.comboUser.currentText() #finds selected user
date = self.dateEdit.date().toString("M/d/yyyy")
numrecord = cursor.execute() ??
Вот пример БД и файл программы для дальнейшего помочь мне объяснитьPython SQL запросы с использованием переменных
я создал переменный для хранения выбора выпадающего списка и поле dateEdit.
Следующий шаг (тот, с которым я борюсь) состоит в том, чтобы затем использовать эти переменные в SQL-запросе, который сначала найдет количество строк с выбранным именем пользователя и имеет дату < = чем выбранная дата. Это заполнит переменную numrecord, чтобы я мог отображать «Это удалит строки« x », вы уверены?»
Если пользователь выбирает yes, тогда я буду использовать переменную в запросе удаления для удаления выбранных строк.
Я считаю, что если я могу выяснить, как использовать переменные, которые у меня есть в SQL-запросе, то запрос DELETE должен быть довольно простым.
Пример возможного запроса DELETE, чтобы показать, что я пытаюсь сделать
cursor.execute("DELETE TO, count(*) FROM Suspense where TO = [user] and DATE = [date]")
Я знаю, что это неправильно, но, возможно, это поможет прояснить.
Надеюсь, я полностью объяснил свой вопрос, и я ценю любую предоставленную помощь.
Редактировать: Большое спасибо!
Перед тем, как я увидел, что вы разместили это, я понял это.
То, что я придумал было следующее:
qdate = self.dateTimeEdit.dateTime().toPyDateTime() #grabs the raw datetime from the QDateTimeEdit object and converts to python datetime
query = "SELECT DATE FROM Suspense WHERE DATE >= ?" #creates the query using ? as a placeholder for variable
cursor.execute(query, (qdate,)) #executes the query and passes qdate as a tuple to the placeholder
С этим знанием я могу воссоздать мои запросы, чтобы включить обе переменные.
Какова схема таблицы * ожидания? Является ли 'TO' строковым столбцом или столбцом внешнего ключа? –
Строка столбца. Изображение dbsample представляет собой раздел таблицы ожидания, в котором показаны столбцы, на которые я буду нацеливаться с моими запросами, чтобы найти число строк, соответствующих переменным, и затем удалить эти строки. – ricketyCode