创建非重复用户名数据库
Create non-repeat username data base
我写了 def addmember 来将成员添加到 database.db。我不想重复用户名,例如:当我将成员 (1,1) 添加到数据库时,我无法将成员 (1,2) 添加到我的数据库,因为已经有用户名为“1”的用户。但我的代码仍然允许它!有人能帮我吗 ?节点 self.textEdit.toPlainText(), self.textEdit_2.toPlainText() 只是我的 qtextedit 对象,不要介意它
def addmember(self):
self.connection = sqlite3.connect("database.db")
cur = self.connection.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS USERS(USERNAME TEXT ,PASSWORD TEXT)")
cur.execute("SELECT * FROM USERS WHERE USERNAME=?", (self.textEdit.toPlainText()))
for row in cur.fetchall():
print(row)
if (len(cur.fetchall())==0):
cur.execute("INSERT INTO USERS VALUES(?,?)",(self.textEdit.toPlainText(), self.textEdit_2.toPlainText()))
self.connection.commit()
self.textEdit.clear()
self.textEdit_2.clear()
cur.close()
else:
self.textEdit.clear()
self.textEdit_2.clear()
cur.close()
self.connection.commit()
self.connection.close()
您调用了两次 fetchall。第一个获取所有行。第二个永远不会得到任何行,并且 len 将始终为 0,因此您的插入将始终发生。
我写了 def addmember 来将成员添加到 database.db。我不想重复用户名,例如:当我将成员 (1,1) 添加到数据库时,我无法将成员 (1,2) 添加到我的数据库,因为已经有用户名为“1”的用户。但我的代码仍然允许它!有人能帮我吗 ?节点 self.textEdit.toPlainText(), self.textEdit_2.toPlainText() 只是我的 qtextedit 对象,不要介意它
def addmember(self):
self.connection = sqlite3.connect("database.db")
cur = self.connection.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS USERS(USERNAME TEXT ,PASSWORD TEXT)")
cur.execute("SELECT * FROM USERS WHERE USERNAME=?", (self.textEdit.toPlainText()))
for row in cur.fetchall():
print(row)
if (len(cur.fetchall())==0):
cur.execute("INSERT INTO USERS VALUES(?,?)",(self.textEdit.toPlainText(), self.textEdit_2.toPlainText()))
self.connection.commit()
self.textEdit.clear()
self.textEdit_2.clear()
cur.close()
else:
self.textEdit.clear()
self.textEdit_2.clear()
cur.close()
self.connection.commit()
self.connection.close()
您调用了两次 fetchall。第一个获取所有行。第二个永远不会得到任何行,并且 len 将始终为 0,因此您的插入将始终发生。