1

每当我运行我的程序时,我都会收到此错误。

Traceback (most recent call last):
  File "C:/Users/Shepard/Desktop/Gradebook.py", line 51, in <module>
    qs.CreateDb()
  File "C:/Users/Shepard/Desktop/Gradebook.py", line 14, in CreateDb
    self.cursor.exeute(query)
AttributeError: 'sqlite3.Cursor' object has no attribute 'exeute'

这让我相信我的问题在于:

 def CreateDb(self):
        query = """CREATE TABLE questions
                 (id INTEGER PRIMARY KEY, Question TEXT, Answer1 TEXT, Answer2 TEXT, Answer3 TEXT, Answer4 TEXT, CorrectAnswer TEXT)"""
        self.cursor.exeute(query)
        self.connection.commit()
        self.cursor.close()

要么在那,要么在

def AddQuestion(self, Question, Answer1, Answer2, Answer3, Answer4):
    self.cursor.execute("""INSERT INTO questions
                        VALUES (?, ?, ?, ?, ?, ?)""", [None, Question, Answer1, Answer2, Answer3, Answer4, CorrectAnswer])
self.connection.commit()

“执行”不是有效属性吗?如果是这样,我应该使用什么?我在这方面有点过头了。:P

4

3 回答 3

10

它没有说“执行”,而是说“执行”。你拼错了。

于 2012-12-12T05:08:40.317 回答
1

您的 CreateDB 函数中有“执行”一词,

self.cursor.exeute(query)

它应该是“执行”。我犯了同样的错误。

于 2015-01-12T08:44:23.380 回答
0

这将向您显示连接和光标的可能命令:

print("Connection functions:",dir(sqlite3.connect('::memory::')))
print("\n\n")
print("Cursor functions:",dir(sqlite3.connect('::memory::').cursor()))

检查内容是否拼写正确,并且您没有混合连接和光标。

于 2019-03-19T07:38:10.420 回答