Date = self.Date.selectedDate()
Date = QDate.toPyDate(Date)
db = MySQLdb.connect(host="localhost", user="root", passwd="Benjamin217", db="Auski")
c = db.cursor()
vins = "SELECT Sum(ChildrenNum) FROM OrderDetails WHERE CheckInDate <= '%s' AND CheckOutDate > '%s'"
vins2 = "SELECT Sum(AdultNum) FROM OrderDetails WHERE CheckInDate <= '%s' AND CheckOutDate > '%s'"
c.execute(vins, [Date], [Date])
ChildrenNum = c.fetchone()[0]
c.execute(vins2, [Date], [Date])
AdultNum = c.fetchone()[0]
print(ChildrenNum + AdultNum)
c.close()
db.close()
给出错误:
c.execute(vins, [Date], [Date])
TypeError:execute()需要2到3个位置参数,但是给出了4个
我几乎试图选择我的输入日期介于其间的所有条目。我想知道是否有人有一个更干净的方式来做这个最好的工作。因为我还没有办法解决这个问题。
答案 0 :(得分:0)
您将值作为单独的单项列表传递,而不是作为单个列表传递。这可行:
c.execute(vins, [Date, Date])