python - 通过 pyodbc 将参数传递给 SQL 的问题
问题描述
将参数传递给 SQL Server 查询时遇到问题。该查询适用于原始数据,但在我尝试使用参数时无效。SQL 没有识别参数标记。
我得到的错误是
SQL 包含 0 个参数标记,但提供了 2 个参数','HY000'
这是我遇到问题的代码:
currenttime = datetime.datetime(year=2021, month=6, day=7, hour=7, minute=0, second=0, microsecond=999999)
print(currenttime)
print(type(currenttime))
starttime = currenttime = datetime.datetime(year=2021, month=6,day=7,hour=6,minute=0,second=0,microsecond=999999)
params = (starttime,currenttime)
sql='''
SET QUOTED_IDENTIFIER OFF
SELECT * FROM OPENQUERY(INSQL, "SELECT DateTime, [AH41_DP04]
FROM WideHistory
WHERE wwRetrievalMode = 'Cyclic'
AND wwResolution = 1000
AND wwVersion = 'Latest'
AND DateTime >= ?
AND DateTime <= ?")
'''
print(type(params))
cursor.execute(sql,params)
for row in cursor:
print(row)``
解决方案
推荐阅读
- javascript - 关闭时刷新父窗口
- spring - 在一个spring bean中,如何声明一个ArrayList类型的变量来服务并发
- css - 在小屏幕尺寸上将响应式图像设置为固定的高度和宽度
- java - 如何在 IntelliJ 中禁用新项目的版本控制?
- javascript - 为什么会抛出“无法读取未定义的属性'长度'”?
- unicode - SyntaxError:(unicode error) 'unicodeescape' codec' can't decode bytes in position 0-5: truncated \UXXXXXXXX escape
- c - C语言:C语言中数组的大小究竟是如何计算的
- openwrt - 如何在openwrt上安装gcc?
- sql - 返回所有参加过 ENG 101 和 ENG 102 的学生的 ID 和姓名(2 列,11 行)
- java - App Engine 上的 Java 11 应用程序的推荐 JVM 参数是什么?