我正在尝试在sqlite3中获取用户名的rowid,我已经掌握了它的基础知识但是当我运行它时,我会得到像'sqlite3.Cursor对象在0x03885660'那样的东西,每当我运行它时它就会改变相同的用户名。我知道这是因为我打印了rowid,但我找不到另一种方式。
这是我的代码:
def sign_in():
username = input("What is your username?")
password = input("What is your password?")
c.execute("SELECT username FROM stuffToPlot")
names = {name[0] for name in c.fetchall()}
if username in names:
rowid = c.execute("SELECT rowid, * FROM stuffToPlot WHERE username = (username)")
print(rowid)
答案 0 :(得分:0)
你到了光标执行该查询的程度,但是你需要告诉它从它返回什么。返回该查询的第一个匹配项?返回每条记录?根据您的需要获取数据。您可以使用fetchone(),fetchall()或许多其他方式来获取它。
if username in names:
c.execute("SELECT rowid, * FROM stuffToPlot WHERE username = (username)")
rowid = c.fetchone()
print(rowid)