无法使用pyodbc使用参数执行类似查询
Unable to perform like query with parameter using pyodbc
我正在尝试将一个变量作为参数传递到访问查询中,这样我就可以在我的网站上生成相似名称的列表。我正在使用 pyodbc 访问我的烧瓶应用程序的 .mdb 数据库。我尝试以多种方式传递变量,例如...
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE %?%', xyz)
没用所以我试了...
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE ?', "%xyz%")
这个很简单。该变量不再是双引号中的变量,因此它以字符串形式运行 'xyz'。但是当我将它作为字符串传递时查询有效...
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE ?', "%SomeName%")
如何传递用户输入变量以使该查询有效?提前致谢。
您可以使用 &
连接 ms-access 中的字符串:
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE "%" & ? & "%"', xyz)
或者,您可以连接 Python 中的字符串变量:
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE ?', '%' + xyz + '%')
我正在尝试将一个变量作为参数传递到访问查询中,这样我就可以在我的网站上生成相似名称的列表。我正在使用 pyodbc 访问我的烧瓶应用程序的 .mdb 数据库。我尝试以多种方式传递变量,例如...
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE %?%', xyz)
没用所以我试了...
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE ?', "%xyz%")
这个很简单。该变量不再是双引号中的变量,因此它以字符串形式运行 'xyz'。但是当我将它作为字符串传递时查询有效...
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE ?', "%SomeName%")
如何传递用户输入变量以使该查询有效?提前致谢。
您可以使用 &
连接 ms-access 中的字符串:
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE "%" & ? & "%"', xyz)
或者,您可以连接 Python 中的字符串变量:
xyz = "SomeName"
cursor.execute('SELECT * FROM Employees WHERE EmployeeName LIKE ?', '%' + xyz + '%')