if count == 1:
cursor.execute("SELECT * FROM PacketManager WHERE ? = ?", filters[0], parameters[0])
all_rows = cursor.fetchall()
elif count == 2:
cursor.execute("SELECT * FROM PacketManager WHERE ? = ? AND ? = ?", filters[0], parameters[0], filters[1], parameters[1])
all_rows = cursor.fetchall()
elif count == 3 :
cursor.execute("SELECT * FROM PacketManager WHERE ? = ? AND ? = ? AND ? = ?", filters[0], parameters[0], filters[1], parameters[1], filters[2], parameters[2])
all_rows = cursor.fetchall()
這是我的程序中的代碼片段。我打算做的是傳遞查詢中的列名和參數。在Python中的SELECT語句中傳遞列名稱
filters數組包含列名,參數數組包含參數。計數是用戶設置的過濾器數量。過濾器和參數數組已經準備就緒,沒有問題。我只需要將它傳遞給查詢來執行。這給我的錯誤「類型錯誤:函數需要最多2個參數」
非常感謝!我已經閱讀了這個字典功能,我不知道如何把它放在我的代碼中。非常感謝! :D – OrdinaryProgrammer
你好,我一直有這個錯誤,我不知道是什麼原因造成的。每當它運行雙過濾我繼續收到這個錯誤 類型錯誤:函數採用在(給定的3)最2個參數 的cpode低於顯示: cursor.execute(查詢[過濾器[0] +「_」 + filters [1]],(參數[0],),(參數[1],)) – OrdinaryProgrammer
好吧,我剛剛發現我的愚蠢錯誤.lol 參數應該是: ,(parameters [0],參數[1],) – OrdinaryProgrammer