Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pyodbc执行MS Access中保存的查询_Python_Sql_Ms Access_Ms Access 2007_Pyodbc - Fatal编程技术网

Python 如何使用pyodbc执行MS Access中保存的查询

Python 如何使用pyodbc执行MS Access中保存的查询,python,sql,ms-access,ms-access-2007,pyodbc,Python,Sql,Ms Access,Ms Access 2007,Pyodbc,关于如何使用pyodbc在msaccess2007中运行查询,在线上有很多提示,但所有这些查询都是在Python脚本中编码的。我想使用pyodbc调用已保存在MS Access中的查询。如何执行此操作?如果Access中保存的查询是一个没有参数的简单SELECT查询,则Access ODBC驱动程序将其公开为视图,因此您只需使用查询名称,就像使用表一样: 导入pyodbc connStr=( r“驱动程序={Microsoft Access驱动程序(*.mdb,*.accdb)} r“DBQ=C

关于如何使用pyodbc在msaccess2007中运行查询,在线上有很多提示,但所有这些查询都是在Python脚本中编码的。我想使用pyodbc调用已保存在MS Access中的查询。如何执行此操作?

如果Access中保存的查询是一个没有参数的简单SELECT查询,则Access ODBC驱动程序将其公开为视图,因此您只需使用查询名称,就像使用表一样:

导入pyodbc
connStr=(
r“驱动程序={Microsoft Access驱动程序(*.mdb,*.accdb)}
r“DBQ=C:\Users\Public\Database1.accdb
)
cnxn=pyodbc.connect(connStr)
sql=”“”\
从MySavedSelectQueryAccess中选择*
"""
crsr=cnxn.execute(sql)
对于crsr中的行:
打印(行)
crsr.close()
cnxn.close()
如果查询是其他类型的查询(例如,使用参数选择、插入、更新等),则Access ODBC驱动程序将其公开为存储过程,因此您需要使用ODBC
{CALL…}
语法,如中所示

导入pyodbc
connStr=(
r“驱动程序={Microsoft Access驱动程序(*.mdb,*.accdb)}
r“DBQ=C:\Users\Public\Database1.accdb
)
cnxn=pyodbc.connect(connStr)
sql=”“”\
{调用mySaveDupDateQueryAccess}
"""
crsr=cnxn.execute(sql)
cnxn.commit()
crsr.close()
cnxn.close()

代码中缺少一行是
import pyodbc
。向上投票-因为它对我有用;-)@Plirkee-我添加了
import
语句。谢谢