我正在使用HANA Python连接器的Cursor.execute(sql,hanaparams)方法,该方法的参数是sql语句和hanaparams。我的查询是这样的。
SELECT * FROM TABLE where COLUMN1 IN(?)"和我的参数是VALUE1,VALUE2;像列表/元组;
我无法检索结果集,而当我在HANA中运行此查询和输入参数硬编码时,它运行得非常好
我遵循这个教程https://developers.sap.com/tutorials/hana-clients-python.html
如何在参数中传递多个值
像这样简单的东西似乎工作得很好。?
的个数必须等于你所拥有的参数的个数。在您的情况下,它只需要VALUE1
。
from hdbcli import dbapi
conn = dbapi.connect(
key='HDBKEY'
)
cursor = conn.cursor()
parameters = [11, "2020-12-24"]
params = '?,'*len(parameters)
params2 = params[0:-1]
sql_command2 = f"SELECT {params2} FROM DUMMY;"
cursor.execute(sql_command2, parameters)
rows = cursor.fetchall()
for row in rows:
for col in row:
print ("%s" % col, end=" ")
print (" ")
cursor.close()
conn.close()
所以不是SELECT * FROM TABLE WHERE COLUMN1 IN(?)
而是SELECT * FROM TABLE WHERE COLUMN1 IN(?, ?)