import pypyodbc
class MagSQL ():
mybd = 'test'
fuckname = ''
connection = pypyodbc.connect('Driver={SQL Server};'
'Server=DESKTOP-LSIALCG\SQLEXPRESS;'
'Database=' + mybd + ';')
cursor = connection.cursor()
mySQLQuery = ("SELECT First, Name, password FROM dbo.Test01")
cursor.execute(mySQLQuery)
fuckname = cursor.fetchall()
cursor.close()
for row in fuckname:
first = row[0]
name = row[1]
passwordbd = row[2]
print(passwordbd)
def check_password(pask):
for row in fuckname:
if str(row[2]) == pask:
print('yes')
print(fuckname)
check_password('1234')
print(fuckname)
Что я получаю --------------------------------------------
1234
3333
2222
[('алекссев', 'вова', 1234), ('Лемешкин', 'андрей', 3333), ('Вигаев', 'данил', 2222)]
Traceback (most recent call last):
File "C:/Users/Keeplod/PycharmProjects/testbd2/venv/connectSQL.py", line 3, in <module>
class MagSQL ():
File "C:/Users/Keeplod/PycharmProjects/testbd2/venv/connectSQL.py", line 30, in MagSQL
check_password('1234')
File "C:/Users/Keeplod/PycharmProjects/testbd2/venv/connectSQL.py", line 25, in check_password
for row in fuckname:
NameError: name 'fuckname' is not defined
Process finished with exit code 1
美好的一天,你能告诉我为什么调用 check_password('1234') 方法我得到一些奇怪的错误而不是“是”
消息中不清楚的地方:
? 但是为什么没有定义“fuckname”这个名字是一个单独的问题。很明显,范围的问题。告诉我,你为什么要定义MagSQL 类?为什么在你的程序的任何地方都没有定义这个类的单个对象?
简而言之:在编写代码时很难理解您的意思。我建议您只需删除类标题行并将所有文本移到左侧一个“选项卡”。
关于您的评论:
仔细查看您的代码:
什么是他妈的名字?它不是check_password方法的参数或局部变量......它是封闭方法的全局变量吗?但是应该这样描述:
我在另一个文件中的主类中创建了一个方法,一切正常=)