Passing table name as a parameter in pyodbc

半城伤御伤魂 提交于 2019-12-07 02:11:50

问题


I am trying to pass a table name in pyodbc as a parameter to access data from ms sql 2005. I've tried to substitute it with ? but it never works. I would be glad to receive any advice on how to accomplish this.


回答1:


Since you are using pyodbc, I assume you are not calling a SPROC. I recommend building your SQL string in python and then passing it to SQL to execute.

import pyodbc
dbconn = pyodbc.connect(ConnectionString)
c = dbconn.cursor()

j = 'table1' #where table1 is entered, retreived, etc
query = "Select * from %s" % j
c.execute(query)
result = c.fetchall()
print 'Done'



回答2:


You can't have variable as a table name SQL Server. You need to use dynamic SQL for that to work.

Look here for how to deal with dynamic table names. http://www.sommarskog.se/dynamic_sql.html#objectnames



来源:https://stackoverflow.com/questions/6669009/passing-table-name-as-a-parameter-in-pyodbc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!