Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sqlite3和tkinter中的用户名和密码变量出现问题_Python_Sqlite_Tkinter - Fatal编程技术网

Python sqlite3和tkinter中的用户名和密码变量出现问题

Python sqlite3和tkinter中的用户名和密码变量出现问题,python,sqlite,tkinter,Python,Sqlite,Tkinter,我需要我的程序从Tkinter窗口的输入字段中获取输入,并通过数据库运行它们以登录用户,但是,它说我的参数0(用户名)存在绑定问题,我假设我的密码变量也会出现这种情况 def loginfunc(): 尽管如此: 使用sqlite3.connect('MyComputerScience.db')作为数据库: cursor=db.cursor() 查找用户=(“从用户名=?和密码=?”的用户中选择*) cursor.execute(查找用户(用户名、密码)) 结果=cursor.fetchall(

我需要我的程序从Tkinter窗口的输入字段中获取输入,并通过数据库运行它们以登录用户,但是,它说我的参数0(用户名)存在绑定问题,我假设我的密码变量也会出现这种情况

def loginfunc():
尽管如此:
使用sqlite3.connect('MyComputerScience.db')作为数据库:
cursor=db.cursor()
查找用户=(“从用户名=?和密码=?”的用户中选择*)
cursor.execute(查找用户(用户名、密码))
结果=cursor.fetchall()
如果结果是:
对于结果中的i:
打印(“欢迎”+i[1]+“”)
打破
其他:
打印(“用户名或密码不正确”)
登录()
打破
def login():
屏幕1=顶层(屏幕)
屏幕1.标题(“登录”)
屏幕1.几何图形(“300x250”)
全局用户名
全局密码
username=StringVar()
密码=StringVar()
标签(屏幕1,text=“请在下面输入您的用户名和密码:”).pack()
标签(屏幕1,文本=).pack()
标签(屏幕1,text=“Username:”).pack()
条目(screen1,textvariable=username).pack()
标签(屏幕1,文本=).pack()
标签(屏幕1,text=“Password:”).pack()
条目(屏幕1,textvariable=password).pack()
标签(屏幕1,文本=).pack()
按钮(屏幕1,text=“Login”,宽度=10,高度=1,命令=loginfunc).pack()
文件“C:\Users\notmyname\Desktop\NEA-PROPER.py”,第90行,在loginfunc中
cursor.execute(查找用户(用户名、密码))
sqlite3.InterfaceError:绑定参数0时出错-可能是不支持的类型。

因为错误表明绑定参数的类型不受支持。 用户名和密码的数据类型是StringVar,它是Tkinter(TCL)内置类型

StringVar不通过直接使用它来提供值,您需要调用StringVar对象上的get方法以字符串形式获取值,然后将其传递给游标。执行调用

试试这个:

cursor.execute(find_user, (username.get(), password.get()))