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")
aufgerufen werden So, wie Sie sehen können, ich versuche, die Funktion "check_account" mit dem Parameter "Entwickler" aufzurufen. Aber immer, wenn ich ausführen/baut es, es gibt mir einen Fehler vonPython-Klasse-Attribut kann nicht innerhalb Objektbereich
"NameError: name cursor not defined"
Ich bin gespannt und neu zu Python, wie eigentlich zu tun. Ich habe im Internet gesucht, aber ich kann keine spezifische Antwort für mein Problem finden.
* Ich benutze die neueste Python BTW (3.6.1).
Aber Sie rufen niemals 'connect' auf, und selbst wenn Sie den Cursor nie von dieser Methode zurückgegeben haben oder ihn der Instanzvariablen zuweisen, ist er verloren. –
Sie haben 'cursor object' nicht als Parameter an' check_account' übergeben Funktion – Surajano
@DanielRoseman Ihr Kommentar hilft mir nicht Sir. Aber danke trotzdem. –