Mam następujący kod:SQLite kursor w Pythonie z oświadczeniem
def executeOne(self, query, parameters):
with self.connection as cursor:
cursor.execute(query, parameters)
return cursor.fetchone()
Kiedy wywołać tę metodę, to rzuca mi następujący błąd: AttributeError: 'sqlite3.Connection' object has no attribute 'fetchone'
Co robię źle?
co ma self.connection? obiekt połączenia? a może zapominasz zadzwonić do funkcji self.connection.cursor() ... – Netwave
Tak, 'self.connection' ma obiekt połączenia (' self.connection = sqlite3.connection ('file.db') ') . Gdzie powinienem wywołać metodę 'cursor()'? Czy moduł sqlite nie kojarzy połączenia z instrukcji 'with' z kursorem? – linkyndy
Robi to, ale obiekt kursora jest oddzielną instancją i trzeba ją utworzyć ręcznie, aby uzyskać dostęp do 'cur.execute'' przy użyciu funkcji cur = self.connection.cursor() '. – eandersson