如何使用python从sqlite数据库中搜索和检索单个数据段?

2024-04-25 06:29:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在把这个程序作为我计算机课程的一部分。在我的程序中,我创建了一个保存用户信息的数据库'Records.db'。该表称为Users,布局为;Id INTEGER PRIMARY KEY, Username STRING, Password STRING, First_Name STRING, Surname STRING。 我正在尝试为用户编写登录代码。目前我的代码如下:

Login for users
import sys
import sqlite3 as lite

con = lite.connect('Records.db')

Login = False

    while Login is False:
        u_name = input("Enter your username: ")
        p_word = input("Enter your password: ")
        with con:
            cur = con.cursor()
            cur.execute("SELECT Password AND First_Name AND Surname FROM Users WHERE Username='"+u_name+"'")
        if Password == p_word:
            print("Welcome",First_Name,Surname+"!")
            Login = True
        else:
            print("The Username/Password is incorrect. Please check your input and try again!")

我一直收到一个错误,说变量密码没有定义。但是我不知道如何使用sqlite检索它。我以为cur.execute("SELECT Password AND First_Name AND Surname FROM Users WHERE Username='"+u_name+"'")会返回要打印/使用的密码等请尽快帮助!


Tags: andname程序inputyourstringusernamelogin
1条回答
网友
1楼 · 发布于 2024-04-25 06:29:23

这里至少有三件事不对。我不会给你答案,因为这是家庭作业,但希望这会有帮助。你知道吗

首先,您的SQL语法不正确。你不需要使用和这样:你用逗号分隔列。你知道吗

其次,execute实际上并不获取结果。你需要为此做cur.fetchone()。你知道吗

第三,你没有理解变量是如何工作的。即使得到结果,它也不会自动分配给名为Password的局部变量。您需要获取游标返回的数据并将其赋给该变量。你知道吗

相关问题 更多 >