首页 > 解决方案 > sqlite3.InterfaceError:错误绑定参数 0 - 可能是不受支持的类型。- 登录页面

问题描述

我试图制作一个登录页面并遇到了这个错误。我目前正在使程序检查他们创建的用户 ID 的数据库文件,以便他们可以登录,但我收到此错误:

sqlite3.InterfaceError:错误绑定参数 0 - 可能是不受支持的类型。

几个小时后我似乎无法让它工作,所以我来这里寻求帮助。

导致问题的函数是:login_verify() 导致错误的行已用注释标记 显示的代码只是带有错误的代码段。

错误图片:

在此处输入图像描述

数据库图片:

在此处输入图像描述

from tkinter import *
import sqlite3

def login_verify(): 

   global ID

   with sqlite3.connect('Form.db')as db:

      cursor=db.cursor()
      finduser=('SELECT * FROM Users WHERE ID = ?')
      cursor.execute(finduser,(ID,)) #line causing error


   if cursor.fetchall():
      print('hello')

   else:
      print('test')


def database():

   name1=Fullname.get()
   email=Email.get()
   gender=Gender.get()
   country=c.get()

   iD=ID.get()

   conn = sqlite3.connect('Form.db')

   with conn:
      cursor=conn.cursor()
   cursor.execute('CREATE TABLE IF NOT EXISTS Users (Fullname TEXT,Email TEXT,Gender TEXT,country TEXT, ID TEXT)')
   cursor.execute('INSERT INTO Users (FullName,Email,Gender,country,ID) VALUES(?,?,?,?,?)',(name1,email,gender,country,iD))
   conn.commit()

标签: pythonsqliteuser-interfacetkinter

解决方案


错误消息告诉类型ID不受支持。
你定义ID = IntVar()了所以尝试使用该get方法:

cursor.execute(finduser,(ID.get(),))

推荐阅读