2017-08-14 34 views
0
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() 

給出了錯誤:的Python MySQLdb的使用%S多次在一行

c.execute(vins, [Date], [Date]) 

類型錯誤:執行()從2到3的位置參數需要但4分別給予

Im相當多試圖選擇我輸入的日期之間的所有條目。即時通訊想知道是否有人有一個更清潔的方式來做到這一點,最好的作品因爲我一直無法找到解決這個問題的方法。

回答

0

您將值作爲單獨的一項列表傳遞,而不是作爲單個列表傳遞。這將工作:

c.execute(vins, [Date, Date])