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你的評論對我沒有幫助,先生。但是,謝謝你。 –