AttributeError:对象没有属性'execute'

时间:2012-12-12 03:41:36

标签: python python-3.x syntax-error

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

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()

'execute'不是有效属性吗?如果是这样,我应该使用什么?我在这一点上有点过头了。 :P

3 个答案:

答案 0 :(得分:9)

它没有说“执行”它说“执行”。你把它拼错了。

答案 1 :(得分:1)

你的CreateDB函数中有'execute'字样,

self.cursor.exeute(query)

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

答案 2 :(得分:0)

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

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

请检查是否拼写正确,并且不要混淆连接和光标。