【发布时间】:2023-02-05 05:42:50
【问题描述】:
我正在尝试创建一个小型 python 应用程序来从特定的数据库表中提取数据。 提取的行必须在用户指定的 CREATION_DATETIME 之间。
继承人的代码:
startdate = input("Prosze podac poczatek przedzialu czasowego (format RRRR-MM-DD GG:MM:SS): ")
enddate = input("Prosze podac koniec przedzialu czasowego (format RRRR-MM-DD GG:MM:SS): ")
query = "SELECT * FROM BRDB.RFX_IKW_MODIFY_EXEC_ORDER_CANCEL_LOG WHERE CREATION_DATETIME between '%s' and '%s' ORDER BY CREATION_DATETIME DESC;"
tuple1 = (startdate, enddate)
cursor.execute(*query, (tuple1,))
records = cursor.fetchall()
print("Total number of rows in table: ", cursor.rowcount)
print(records)
我不是很多开发人员,我陷入错误“TypeError:CMySQLCursorPrepared.execute() 需要 2 到 4 个位置参数,但给出了 104 个”,这取决于我尝试修改代码的方式。
你们能帮我正确指定查询吗? 先感谢您。
尝试了各种关于参数化查询的教程,但没有成功。
【问题讨论】:
-
试试
cursor.execute(query, tuple1) -
您不应该在引号中包含
%s占位符,这会阻止它们被参数替换。