如何在游标中传递多个值作为参数。HANA Python连接器的Execute方法

2024-10-01 19:14:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用HANA Python连接器的Cursor.execute(sql,hanaparams)方法,该方法的参数是sql语句和hanaparams。我的查询如下

“从(?)中第1列的表中选择*”,我的参数为VALUE1、VALUE2;如列表/元组

我无法检索resultset,但当我在HANA中使用硬编码的查询和输入参数运行它时,它运行得非常好

我正在学习这个教程https://developers.sap.com/tutorials/hana-clients-python.html

任何指针我应该如何在参数中传递多个值


Tags: 方法编码列表executesql参数教程语句
1条回答
网友
1楼 · 发布于 2024-10-01 19:14:36

像这样简单的事情似乎很管用。?的计数必须等于您拥有的参数计数。在您的情况下,只需要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(?)

相关问题 更多 >

    热门问题