如何使用涉及 python 变量作为参数的 pyodbc 发出 SQL 查询?



我正在编写一个程序,该程序搜索数据库并根据用户从两个日历(在GUI上(中选择的数据将数据输入Excel文件中。我有一个开始和结束日期,我正在将这些变量作为参数传递到我的 SQL 查询的函数中。

如何设置 SQL 查询的格式以选择给定日期中的值?

这是我到目前为止的代码,

def load_database(startDate, endDate):
conn = pyodbc.connect('Driver={ODBC Driver 17 for SQL Server};'
'Server=DESKTOP-KVR7GNJSQLBULKROLL;' 
'Database=db_MasterRoll;'
'UID=sa;'
'PWD=Z28@6420d')
wb = Workbook()
ws = wb.active
ws.title = "Star Ledger"
cursor = conn.cursor()
cursor.execute('SELECT ID, BarCode, DateTm, EntryDoor FROM dbo.tab_Rolls WHERE (DateTm >= @startDate) AND (DateTm <= @endDate)')

按钮通过运行函数"call_db_code(("来调用此代码:

def call_db_code():
firstDate = start_dateCalendar.selection_get()
print(firstDate)
finalDate = end_dateCalendar.selection_get()
print(finalDate)
load_database(firstDate, finalDate)

在查询中使用?作为占位符,并提供一个值元组来替换它们。

cursor.execute('SELECT ID, BarCode, DateTm, EntryDoor FROM dbo.tab_Rolls WHERE (DateTm >= ?) AND (DateTm <= ?)', (startDate, endDate))

请参阅cursor.execute()文档中的示例。

相关内容

  • 没有找到相关文章

最新更新