0
def addmemberを書いてdatabase.dbにメンバーを追加しました。私はユーザー名に繰り返しは必要ありません。例:データベースにメンバー(1,1)を追加すると、すでにユーザー名が「1」のユーザーがいるため、メンバー(1,2)をデータベースに追加できません。しかし、私のコードはまだそれを可能にする!誰かが私を助けることができますか? 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()
解決済み。ありがとうございました – dauhuong68
私は "cur.fetchall()内の行を削除しました:print(row)"(1,2)の作成を許可したいのですが、(1,1)だけが再び追加することはできません。私は同じユーザー名と異なるパスを持つアカウントを意味しますが、同じアカウントはもう一度追加できません。私はcur.executeを書いています( "SELECT *からUSERNAME =?とパスワード=?"、(self.textEdit.toPlainText()、self.textEdit_2.toPlainText()))を書いていますが、それは動作しません – dauhuong68
そうですね。あなたは? 「?」で。また、Alexがパラメータタイプについて投稿したこの回答をチェックしてください。 https://stackoverflow.com/a/902836/8652974 –