import pyodbc
class Database(object):
def connect(self):
connection = pyodbc.connect("""DRIVER={SQL Server};
SERVER=XX\SQLEXPRESS;
DATABASE=ACCOUNT_DBF;
UID=sa;PWD=XXX""")
cursor = connection.cursor()
def check_account(self, usr):
cursor.execute("SELECT * FROM ACCOUNT_TBL WHERE account = ?", usr)
row = cursor.fetchone()
print(row[0])
database = Database()
database.check_account("developer")
因此,正如您所看到的,我尝试使用参数“developer”调用“check_account”函数。但每当我执行/建立它,它给了我一个错误无法在对象范围内调用Python类属性
"NameError: name cursor not defined"
我很好奇和新的python如何实际做到这一点。我一直在网上搜索,但找不到针对我的问题的具体答案。
*我使用的是最新的python btw(3.6.1)。
但是,您永远不会调用'connect',并且即使您从未从该方法返回游标或将其分配给实例变量,也不会丢失。 –
你没有将'cursor object'作为参数传递给'check_account'函数 – Surajano
@DanielRoseman你的评论对我没有帮助,先生。但是,谢谢你。 –