我写了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()
你的召唤取消了两次。第一个获取所有行。第二个永远不会获得任何行,len将始终为0,因此您的插入将始终发生。