如何使用从Python传递到SQL server查询的密钥{Key:pair}

如何使用从Python传递到SQL server查询的密钥{Key:pair},python,sql-server,Python,Sql Server,我们使用RelianceETQ产品。 Python代码- Dict = {'USdateFrom':Rdate.getUSFormatDateOnly(dateFrom,Rdate.MEDIUM),'USdateTo':Rdate.getUSFormatDateOnly(dateTo,Rdate.MEDIUM)} Rutilities.debug(Rdate.getUSFormatDateOnly(dateFrom,Rdate.MEDIUM)) dao = thisApplication.exe

我们使用Reliance
ETQ产品
Python代码-

Dict = {'USdateFrom':Rdate.getUSFormatDateOnly(dateFrom,Rdate.MEDIUM),'USdateTo':Rdate.getUSFormatDateOnly(dateTo,Rdate.MEDIUM)}
Rutilities.debug(Rdate.getUSFormatDateOnly(dateFrom,Rdate.MEDIUM))
dao = thisApplication.executeQueryFromDatasource("SQL server query file",Dict)
此代码调用SQL server查询文件,该文件包含以下内容
SQL

SQL server代码-SQL server查询文件

SELECT * from <Table>
WHERE
CONVERT(VARCHAR,CAST(TABLE_DATE AS DATETIME),101)
BETWEEN
CONVERT(VARCHAR,'USdateFrom',101)
AND
CONVERT(VARCHAR,'USdateTo',101)
从中选择*
哪里
转换(VARCHAR,CAST(表_DATE为DATETIME),101)
之间
转换(VARCHAR,'USDATEFORM',101)
及
转换(VARCHAR,'USdateTo',101)

查询-
USDateFrom
USdateTo
在SQL中不起作用。没有错误。如何编写正确的语法,以便能够从来自Python代码的变量中获取值。

您可以使用Python的
format
函数将字典传递给字符串

sql = """SELECT * from <Table>
WHERE
CONVERT(VARCHAR,CAST(TABLE_DATE AS DATETIME),101)
BETWEEN
CONVERT(VARCHAR,'{USdateFrom}',101)
AND
CONVERT(VARCHAR,'{USdateTo}',101)""".format(**Dict)
sql=“”从中选择*
哪里
转换(VARCHAR,CAST(表_DATE为DATETIME),101)
之间
转换(VARCHAR,{USdateFrom}',101)
及
转换(VARCHAR,{USdateTo}',101)“”。格式(**Dict)

让我知道如果这是您想要的

您可以使用python的
格式
函数将字典传递给字符串

sql = """SELECT * from <Table>
WHERE
CONVERT(VARCHAR,CAST(TABLE_DATE AS DATETIME),101)
BETWEEN
CONVERT(VARCHAR,'{USdateFrom}',101)
AND
CONVERT(VARCHAR,'{USdateTo}',101)""".format(**Dict)
sql=“”从中选择*
哪里
转换(VARCHAR,CAST(表_DATE为DATETIME),101)
之间
转换(VARCHAR,{USdateFrom}',101)
及
转换(VARCHAR,{USdateTo}',101)“”。格式(**Dict)

如果这不是你想要的,请告诉我。您想在python字符串中使用字典值和替换项吗?我想将字典键值传递到前面提到的sql中。键为USDATEFORM,值为“Rdate.getUSFormatDateOnly(dateFrom,Rdate.MEDIUM)”。值是日期,应该由SQL识别。我们如何在SQL查询中传递此值?未获取。您想在python字符串中使用字典值和替换项吗?我想将字典键值传递到前面提到的sql中。键为USDATEFORM,值为“Rdate.getUSFormatDateOnly(dateFrom,Rdate.MEDIUM)”。值是日期,应该由SQL识别。我们如何在SQL查询中传递此值?您的建议在python脚本中不起作用,因为该查询位于单独的位置,并使用此函数“thisApplication.executeQueryFromDatasource”调用。我不知道sql是否可以嵌入python脚本文件中。Python脚本也存在于一个公式文件中。数据库是sql server。sql server查询如何将这样传递的键值解析到where子句中?有什么想法吗?你不能使用sql.execute方法吗?通过执行的方式,你说的是导入连接器,创建游标,执行然后获取??所有这些都在Python脚本中?如果是,我必须试一试。或者,我们可以在sql查询中做些什么来识别python发送的变量?您的建议在python脚本中不起作用,因为该查询位于单独的位置,并使用此函数“thisApplication.executeQueryFromDatasource”进行调用。我不知道sql是否可以嵌入python脚本文件中。Python脚本也存在于一个公式文件中。数据库是sql server。sql server查询如何将这样传递的键值解析到where子句中?有什么想法吗?你不能使用sql.execute方法吗?通过执行的方式,你说的是导入连接器,创建游标,执行然后获取??所有这些都在Python脚本中?如果是,我必须试一试。或者,我们可以在sql查询中做些什么来识别python发送的变量?